168 Commits
Author SHA1 Message Date
Stefan 81c323363a Release 0.4.1
Release 0.4.1
2020-03-10 07:52:34 +01:00
Stefan 1356b61383 Merge pull request #507 from lukeIam/release-0.4.1
Fix: replace invalid github tokens in 0.4.1 branch
2020-03-09 19:17:58 +01:00
Stefan 3806c77d98 Merge branch 'release-0.4.1' into release-0.4.1 2020-03-09 19:02:37 +01:00
lukeIam a6c5766138 Fix: replace invalid github tokens in 0.4.1 branch 2020-03-09 18:24:20 +01:00
Stefan 3bbcb2d56a Merge pull request #328 from Vocaluxe/release-0.4.1
Bugfix release 0.4.1
2020-03-08 17:24:28 +01:00
daggeg 25fd140b3e Merge pull request #497 from Vocaluxe/Readme-patch-1
Update Readme.txt
2020-02-11 13:01:00 +01:00
Stefan 5e481878f5 Update Readme.txt 2020-02-11 06:32:26 +01:00
Stefan c05f2ab548 Merge pull request #495 from Vocaluxe/FixSubLineAlphaCalculation_release-0.4.1
Fix alpha calculation for last sub line (release-0.4.1)
2020-02-09 20:23:54 +01:00
Stefan 919ab803d1 Fix alpha calculation for last sub line (release-0.4.1)
Sub line was displayed wrong, if the last lyric line has a bigger distance to the second last line. Alpha calculation for sub lines stopped one line to early and might be visible even if it shouldn't be.
2020-02-09 20:02:59 +01:00
daggeg dd7be5c575 Merge pull request #489 from Vocaluxe/FixPlaylistScrollOffset_release-0.4.1
Scroll offset was ignored while singing a single playlist song (fix #487 for release-0.4.1)
2020-02-08 11:19:50 +01:00
Stefan 546ccf4748 Scroll offset was ignored while singing a single playlist song (fix #487 for release-0.4.1) 2020-02-07 21:17:36 +01:00
Stefan d457c6c66f Merge pull request #481 from Vocaluxe/RelativeSongPathFix-0.4.1
Relative song paths will now be converted to absolute song paths (release-0.4.1)
2020-02-04 14:10:09 +01:00
Stefan cfc6bfa738 Relative song paths will now be converted to absolute song paths
Same fix from GaryCXJk for release-0.4.1
2020-02-04 08:46:48 +01:00
daggeg de80eeb823 Merge pull request #448 from Vocaluxe/VideoPreviewFix-release0.4.1
Fix release-0.4.1: Config.Video.VideoPreview is ignored (fixes #391)
2020-01-17 17:32:28 +01:00
Stefan 2bb2819b33 Merge branch 'release-0.4.1' into VideoPreviewFix-release0.4.1 2020-01-16 22:01:16 +01:00
daggeg c0e2281b74 Merge pull request #451 from Vocaluxe/JumpTo_FolderSort-fix0.4.1
Fix release-0.4.1: JumpTo not working correctly on folder sort (fix #449)
2020-01-16 08:28:43 +01:00
Stefan 9e8952157a Fix release-0.4.1: JumpTo not working correctly on folder sort (fix #449) 2020-01-16 07:15:23 +01:00
Stefan e2dcbc2ecf Fix release-0.4.1: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 23:46:01 +01:00
Stefan 4c76c88074 Fix release-0.4.1: Config.Video.VideoPreview is ignored (fixes #391) 2020-01-15 23:44:49 +01:00
lukeIam 890e6d84fb Merge pull request #380 from lukeIam/release-0.4.1
Use TLS 1.2 for downloading GStreamer
2018-03-01 17:21:29 +01:00
lukeIam cd5ab37afd Use TLS 1.2 for downloading GStreamer
(cherry picked from commit 617cf70bf8)
2018-03-01 11:24:50 +01:00
Florian Küpper 5adde7b9c4 Merge pull request #373 from lukeIam/release-0.4.1
New PortAudio
2018-02-04 16:24:11 +01:00
lukeIam 61dcfc3aeb Upgrade PortAudio to version pa_stable_v190600_20161030
(cherry picked from commit 16f9ef2c88)
2018-02-04 16:04:16 +01:00
lukeIam 342123dc4e Removed useless metapackage vocaluxe.dependencies
(cherry picked from commit 20d13d9f06)

# Conflicts:
#	Vocaluxe/packages.config
2018-02-04 16:04:14 +01:00
Florian Küpper c55f779dba Merge pull request #358 from flokuep/release-0.4.1
Release 0.4.1
2017-12-26 16:33:49 +01:00
Florian Küpper 675edce193 Fix: winner calc in tic-tac-toe mode (closes #349) 2017-12-26 15:46:21 +01:00
Florian Küpper f9e71693ea Fix: Winner in challenge mode wasn't calculated properly 2017-12-26 12:51:16 +01:00
Florian Küpper e99f1adfae Fixed exception on task dispose (fix #357) 2017-12-26 11:37:00 +01:00
Florian Küpper 330f755c44 Merge pull request #352 from lukeIam/CouldNotQueryPos
Meaningless "Could not query position" messages in the log
2017-12-22 16:31:27 +01:00
lukeIam 4ceac098ab Merge branch 'release-0.4.1' of https://github.com/Vocaluxe/Vocaluxe into CouldNotQueryPos 2017-12-21 15:13:51 +01:00
lukeIam 9599c1a616 Fix: meaningless "Could not query position" messages in the log 2017-12-21 15:08:12 +01:00
Florian Küpper 5ec3f9a8a7 Merge pull request #347 from lukeIam/release-0.4.1
_PreviewStartHelperTask null check from @Pr3di
2017-12-19 11:12:47 +01:00
Pr3di 60a6f8d347 NullPointerException abgefangen
(cherry picked from commit 6782f5104a)
2017-12-19 10:43:35 +01:00
Florian Küpper 533a7e64d2 Merge pull request #345 from flokuep/release-0.4.1
Minor fixes.
2017-12-05 17:11:51 +01:00
Florian Küpper 2d13c3a834 Merge branch 'release-0.4.1' into release-0.4.1 2017-12-05 16:54:04 +01:00
Florian Küpper 064b5412a6 Fix: Increase team number in PartyNameSelction 2017-12-03 12:38:50 +01:00
Florian Küpper 2f4067c374 Merge pull request #346 from Jiiniasu/0.4.1-Button-Fix
Fix: Button SelColor
2017-12-02 22:22:39 +01:00
Jiiniasu 7f3d9c5f41 Fix: Button SelColor
Correctly set Selcolor when creating one based on an existing button.
2017-12-02 22:12:58 +01:00
Florian Küpper e9abec565d Removed unused tables after converting Ultrastar.db 2017-12-02 21:57:22 +01:00
Florian Küpper 5296627f8d Fixed converting Ultrastar.db 2017-12-02 16:45:41 +01:00
Florian Küpper 7fdbd8780b Fixed updating team-slide in PartyNameSelection 2017-12-01 17:14:28 +01:00
Florian Küpper feb5c1eaed Fix: PartyNameSelection visibility of team increase/decrease button 2017-12-01 16:41:21 +01:00
Florian Küpper 1baed149af Updated AdvancedInstaller version 2017-11-23 16:54:30 +01:00
Florian Küpper d7e924b72b Fixed installer file names 2017-11-23 16:50:07 +01:00
Florian Küpper b8fb0d7549 Make reading HighscoreDB more robust if song entries are incomplete 2017-11-22 20:14:31 +01:00
Florian Küpper 7dbd2363db Fix: Points were assigned to not sung songs 2017-11-21 09:49:45 +01:00
Florian Küpper 081ca63d85 Merge branch 'release-0.4.1' of github.com:Vocaluxe/Vocaluxe into release-0.4.1 2017-11-16 12:27:31 +01:00
Florian Küpper 06d6be528a Fixed wrong song folder path that leads to not working folder-sorting 2017-11-16 12:26:38 +01:00
lukeIam ce4529325b Fix: exception when intro video is missing 2017-11-06 10:08:06 +01:00
lukeIam 52f1b8f546 Fix: Vocaluxe crashes when _CopyDecodedFrameToBuffer() fails 2017-11-04 20:13:19 +01:00
lukeIam 79bbcbdccb Try to close the other modules correctly if a single one fails to close ( on program shutdown) 2017-11-04 19:47:47 +01:00
lukeIam a92353c9a2 Try to fix exceptions while closing Vocaluxe (during closing bg video) (may fixes #320) 2017-11-04 19:34:55 +01:00
lukeIam 3e0eec8294 Synchronize access to _PreviewStartHelperTask object (may fixes #330) 2017-11-04 14:58:48 +01:00
Florian Küpper ceaa77ffe7 Merge pull request #326 from flokuep/0.4.0-fixes
Small fixes
2017-10-30 18:29:06 +01:00
Florian Küpper c87016c4f8 Merge pull request #325 from lukeIam/PACloaseStreamHandling
PortAudio close-stream-handling
2017-10-30 18:28:43 +01:00
Florian Küpper 4d754c0876 Forget to remove a function... 2017-10-08 12:59:46 +02:00
Florian Küpper 8244fd638b Log missing avatar as error instead of throwing exceptions 2017-10-08 12:56:37 +02:00
Florian Küpper 85ad6050f8 Fixed lyrics visibility (closes #322) 2017-10-08 12:56:16 +02:00
Florian Küpper df34766f35 Fixed aspect of avatars 2017-10-08 12:40:59 +02:00
lukeIam ad5ffd7578 Catch potential errors from PortAudio Close() and Dispose() 2017-10-04 14:20:31 +02:00
lukeIam 4784e57370 Refactored mutex use while closing streams in CPortAudioHandle (should fix #320) 2017-10-04 13:12:14 +02:00
Florian Küpper 41cf7a5ac2 push to trigger appveyor 2017-09-28 17:31:16 +02:00
Florian Küpper d94868f466 Fixed drawing non-latin character not correctly, closes #310 2017-09-07 16:56:31 +02:00
Florian Küpper 01fa98adaf Merge pull request #307 from lukeIam/develop
Fixed: $(APPVEYOR_REPO_COMMIT) tag is missing in some releases
2017-09-02 16:47:21 +02:00
lukeIam 7594ea6bad Fixed: $(APPVEYOR_REPO_COMMIT) tag is missing in some releases 2017-09-02 16:40:28 +02:00
Florian Küpper 6fbe545d32 Merge pull request #294 from Vocaluxe/update_Readme
Update readme for new release
2017-09-02 16:14:51 +02:00
Florian Küpper b39db0361e Merge branch 'develop' into update_Readme 2017-09-02 15:59:20 +02:00
Florian Küpper 2959e82daa Updated spanish translation (#305) 2017-09-02 14:36:23 +02:00
Florian Küpper 63e533f456 Merge branch 'develop' into update_Readme 2017-09-02 11:50:14 +02:00
Florian Küpper ef20b30d68 Merge pull request #302 from lukeIam/GSTAudioStreamDispose
Double check for null in _Dispose of CGstreamerSharpAudioStream
2017-09-02 11:47:52 +02:00
lukeIam 836aeeba92 Double check for null in _Dispose of CGstreamerSharpAudioStream (closes #226) 2017-09-02 10:26:48 +02:00
Florian Küpper 53f204740e Merge branch 'develop' into update_Readme 2017-09-02 10:05:22 +02:00
Florian Küpper a284b0f2b9 Merge pull request #296 from flokuep/installer
Update installer
2017-09-02 10:04:48 +02:00
Florian Küpper a2b98e1e47 corrected .net version 2017-09-01 23:02:15 +02:00
lukeIam acef61a26e Added Visual C++ Redistributable Package 2010 to README.md 2017-09-01 21:25:39 +02:00
Florian Küpper 0d0789d091 Merge branch 'develop' into update_Readme 2017-09-01 21:19:47 +02:00
Florian Küpper dfd5650d2b Updated requirements in readme 2017-09-01 21:19:32 +02:00
lukeIam 29375e9b80 Merge branch 'dependencyErrorMessage' into installer 2017-09-01 20:48:31 +02:00
lukeIam 519682e2cb Changed Dependency error messages: removed VC2012 check and added VC2010 2017-09-01 20:46:04 +02:00
lukeIam 8d4718166b Merge pull request #299 from flokuep/develop
Fixes and smaller improvements
2017-09-01 17:57:03 +02:00
Florian Küpper 60a27fbf27 Updated AssemblyInfo.cs to current year 2017-08-31 23:37:10 +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 1fa744e763 Fixed unwanted scrolling in highscore 2017-08-31 23:23:16 +02:00
Florian Küpper 1b504482e8 Added more missing controls 2017-08-31 23:14:09 +02:00
Florian Küpper 57aa36c24e Fixed some playlist element issues
- SongMenu wasn't resizing after playlist closed
- Playlist Buttons couldn't be used with keyboard
2017-08-31 23:07:25 +02:00
Florian Küpper e9e9b6c790 Better navigation on taking webcam snapshot 2017-08-31 22:35:27 +02:00
Florian Küpper e8f0a9b4c4 Guest3 is now really a guest... 2017-08-31 22:27:53 +02:00
Florian Küpper 9e7d47d39d Added missing controls to readme 2017-08-31 22:26:07 +02:00
Florian Küpper 0981d101a3 Fixed pm name selection shows 'team' if it shouldn't 2017-08-31 22:22:21 +02:00
Florian Küpper 63abc5f7cf Fixed not saving config when jumping directly to songs 2017-08-31 22:10:04 +02:00
Florian Küpper 1b616398a9 Fixed crash when choosing sorting:folder and category:yes 2017-08-31 22:07:26 +02:00
Florian Küpper 21d7d3de60 fixed not working button in song screen 2017-08-31 21:25:42 +02:00
Florian Küpper ddea7f7cc4 Some minor improvements in readme.txt 2017-08-31 18:04:16 +02:00
Florian Küpper e348c33e92 Fixed wrong closing tag in readme 2017-08-30 22:27:51 +02:00
Florian Küpper e2575e2395 Update Roadmap.txt 2017-08-30 21:43:58 +02:00
Florian Küpper 9f77b456f1 Update output/readme for next release 2017-08-30 21:38:29 +02:00
Florian Küpper ec038f9fc3 Merge branch 'develop' of github.com:Vocaluxe/Vocaluxe into installer 2017-08-30 21:19:12 +02:00
Florian Küpper 7dc2a28af9 Fixed profile problem and updated uninstaller
Uninstaller asks know if data folder should be deleted (songs, profiles,
playlists, ...)
2017-08-30 21:17:20 +02:00
Florian Küpper f69543c5db Improved folder handling again 2017-08-28 21:06:05 +02:00
Florian Küpper fa51af770e Better handling of git folder in installer script 2017-08-28 20:16:29 +02:00
Florian Küpper cfab637a71 Improved installer 2017-08-28 20:15:59 +02:00
Florian Küpper 0fd01ca59a Fixed creating folders in installer build 2017-08-28 20:12:10 +02:00
Florian Küpper 91d8d6d9fd Updated installer comment 2017-08-27 18:00:21 +02:00
Florian Küpper 9e2ce90de2 Added missing theme videos to installer 2017-08-27 16:13:47 +02:00
Florian Küpper 7231a62a92 Added vc2010 to installer 2017-08-27 16:12:21 +02:00
Florian Küpper 66a9dc1ce1 Decrease size of built installer files 2017-08-26 18:51:01 +02:00
Florian Küpper 34ddc1623a Some minor fixes to path handling for installer 2017-08-26 18:11:00 +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
lukeIam f1354b6099 Updated readme
no official support for Linux
2017-08-26 11:21:14 +02:00
lukeIam 6128f0a0f8 Update readme for new release
Remove XP
Add link to new homepage
Changed download section
Add badges
2017-08-25 17:22:30 +02:00
Florian Küpper b8ad13e682 Merge pull request #254 from lukeIam/versioning
Version tag generation moved to build script
2017-08-22 12:15:30 +02:00
Florian Küpper 6073d68b6e Added some (historical) version names 2017-08-22 10:40:50 +02:00
Florian Küpper ecc8142325 Merge branch 'develop' into versioning 2017-08-22 10:32:19 +02:00
Florian Küpper 16d26cea8a [installer] build seperate installer for x86/x64; Check if .NET and DirectX are installed 2017-08-15 20:02:03 +02:00
Florian Küpper 71859619f9 Merge pull request #290 from lukeIam/develop
Remove "wrong error messages" from build log
2017-08-15 19:30:07 +02:00
lukeIam 9ffedef52a Merge branch 'develop' of https://github.com/Vocaluxe/Vocaluxe into develop 2017-08-15 19:20:13 +02:00
lukeIam d1d7f04757 Merge pull request #288 from flokuep/develop
Merged #288
2017-08-15 18:31:35 +02:00
Florian Küpper 1c6c090360 First draft of new installer 2017-08-15 02:49:39 +02:00
Florian Küpper 90aa0176f6 updated language files 2017-08-14 23:03:51 +02:00
Florian Küpper c8bc280e5b Auto focus on buttons in main screen (closes #281) 2017-08-14 22:41:17 +02:00
Florian Küpper c5074c187a Fixed bug in tic tac toe mode (closes #268) 2017-08-14 22:31:59 +02:00
lukeIam c90c2ae89b Remove git status messages which are send to stderr from log 2017-08-14 21:50:42 +02:00
Florian Küpper 10c3cebc2e Merge pull request #287 from lukeIam/develop
Fix: Triggering a github pages update fails
2017-08-14 21:33:01 +02:00
lukeIam a9250559d2 Fix: Triggering a github pages update fails, as the gh-pages branch is not cloned. 2017-08-14 21:24:18 +02:00
lukeIam 45c8eb2e9b Merge pull request #286 from lukeIam/modBuildScript
Build script adjustments
2017-08-14 20:46:57 +02:00
Florian Küpper 133de2cf61 Merge pull request #285 from lukeIam/develop
Fix: acinerella.dll is not statically linked
2017-08-14 20:43:48 +02:00
lukeIam 9738bc513a Fix: typo 2017-08-14 19:38:33 +02:00
lukeIam 03268ecab4 Add more info about the triggering commit to the "dummy" gh-pages commit message. 2017-08-14 19:34:18 +02:00
lukeIam bcc79b77d8 Modified pre-release tagging: true for nightly and tags containing beta, false for all others (normal releases). 2017-08-14 18:00:58 +02:00
lukeIam 8d6ddf6d26 Replaced contains with match in powershell (contains does not work for strings) 2017-08-14 17:55:27 +02:00
lukeIam 90d4b35741 Minimized the the release recreation race condition by writing the current sha to the comment section. 2017-08-14 17:38:01 +02:00
lukeIam f53e6fbe33 Prevent that the other build (x86/x64) deletes the release again (still have a little race condition here...) 2017-08-14 17:15:37 +02:00
lukeIam b33fe92e8a Do an empty commit to gh-pages branch after publishing artifacts to trigger a git hub pages build (fixes #277). 2017-08-14 17:06:45 +02:00
lukeIam 220a969ddb Delete the whole release instead of just the assets before publishing (fixes #276). 2017-08-14 15:51:02 +02:00
lukeIam f59393d343 Fix: acinerella.dll is not statically linked (update acinerella dependency) (fixes #280) 2017-07-14 16:32:13 +02:00
lukeIam 2e6b3880c1 Merge pull request #248 from lukeIam/newAcinerella
Use new acinerella and ffmpeg (3.2) versions
2017-06-05 21:36:15 +02:00
Florian Küpper badb8bea7d Merge branch 'develop' into newAcinerella 2017-06-05 14:13:01 +02:00
lukeIam 5a9141b25c Merge remote-tracking branch 'remotes/main/develop' into versioning 2016-12-28 23:04:00 +01:00
lukeIam 152be5d8ad - calculate full version tag in build script and set AssemblyTitle
- display AssemblyTitle in Vocaluxe gui
- code names are stored in .build/versionNames.json
- pre and post build scripts for windows (one place for all commands)
- adjusted and moved the linux build scripts
2016-12-28 23:01:34 +01:00
Florian Küpper afc9172f97 Merge pull request #247 from flokuep/develop
Language update
2016-12-26 22:55:59 +01:00
Florian Küpper b8b8141cfe Merge branch 'develop' into develop 2016-12-26 22:46:23 +01:00
Florian Küpper 6bb67f218a Updatet swedish files 2016-12-26 22:45:49 +01:00
Florian Küpper 0eb28b1bc9 Merge pull request #204 from Jiiniasu/PNG-Screenshots
PNG screenshots
2016-12-26 13:13:19 +01:00
Florian Küpper 290c4463fa Merge branch 'develop' into PNG-Screenshots 2016-12-26 12:18:36 +01:00
Florian Küpper ab50362496 Updated translators on credits-screen 2016-12-26 12:04:35 +01:00
Florian Küpper e2bfdd6877 Merge branch 'develop' of github.com:flokuep/Vocaluxe into develop 2016-12-26 11:51:44 +01:00
Florian Küpper 795c8705c4 Updated Swedish.xml 2016-12-26 11:51:04 +01:00
Florian Küpper f7c3a317f8 Merge branch 'develop' into newAcinerella 2016-12-26 11:44:26 +01:00
Florian Küpper 7c0b318fe1 Merge branch 'develop' into develop 2016-12-26 11:44:18 +01:00
Florian Küpper 67dafcc63e Merge pull request #251 from lukeIam/seekDrop
Use ac_seek instead of ac_skipFrame to drop large amounts of frames
2016-12-26 11:43:41 +01:00
Florian Küpper d7207b1fea Merge branch 'develop' into seekDrop 2016-12-26 11:35:11 +01:00
Florian Küpper f743980fb9 Language update 2016-12-26 11:28:45 +01:00
Florian Küpper 195df07e5f Merge pull request #252 from lukeIam/PT_ABS_SPEEDUP
Make PitchTracker a bit faster
2016-12-26 10:54:34 +01:00
lukeIam c5ad1a3f95 Use ac_seek instead of ac_skipFrame to drop large amounts of frames(fixes #250) 2016-12-21 18:14:15 +01:00
Florian Küpper 85ef00956a Fixed some translations 2016-12-20 21:57:54 +01:00
lukeIam c899d9e7e9 Speed up PitchTracker by using a template for abs instead of fabsf 2016-12-20 21:03:39 +01:00
lukeIam a75c4101e3 Updated acinerella code (for linux build) 2016-12-20 17:48:18 +01:00
lukeIam 2dcf20c8c8 Merge branch 'develop' into newAcinerella + use newer ffmepg version
# Conflicts:
#	Vocaluxe/Vocaluxe.csproj
#	Vocaluxe/packages.config
2016-12-20 16:31:09 +01:00
Florian Küpper f2b0fb7f6a Merge branch 'develop' of github.com:Vocaluxe/Vocaluxe into develop
Conflicts:
	Output/Languages/Swedish.xml
2016-12-20 15:18:39 +01:00
Florian Küpper 9699aaf00c Language update 2016-12-20 14:26:13 +01:00
Jiiniasu 2f7d2f98e8 Make screenshots save as PNG 2016-04-10 12:26:47 +02:00
lukeIam e4deacf0b6 Use the new nuget packages for acinerella and ffmpeg 2016-02-07 14:37:21 +01:00
lukeIam 078687934a Merge branch 'develop' into newAcinerella 2016-02-07 14:28:00 +01:00
lukeIam 674a987e2a Moved the getFrame methode to acinerella (native) 2016-02-06 13:22:06 +01:00
lukeIam be3d27adfb Moved code for frame skipping to acinerella (native code) 2016-02-06 12:52:10 +01:00
lukeIam 216375ab10 Fix: besides the background video no other video is decoded 2016-02-05 19:13:52 +01:00
lukeIam f069f9fd9b Merge branch 'develop' into newAcinerella 2016-01-31 15:17:03 +01:00
lukeIam 165abd5fe6 First changes for using the new acinerella version 2016-01-31 15:15:22 +01:00
104 changed files with 6785 additions and 2318 deletions

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
Write-Host "Deployment finished -> do en empty commit on the gh-pages branch to update the page"
cd ..
git clone -q "https://github.com/Vocaluxe/Vocaluxe.git" -b "gh-pages" --single-branch "VocaluxeWeb"
cd VocaluxeWeb
git config --global user.email "noreply@vocaluxe.org"
git config --global user.name "VocaluxeBuildBot"
git commit --allow-empty -m "Trigger page update after a new publish (triggered by $Env:APPVEYOR_REPO_COMMIT_MESSAGE [$Env:APPVEYOR_REPO_COMMIT])"
git push -q "https://$($Env:GitHubKey):x-oauth-basic@github.com/Vocaluxe/Vocaluxe.git" "gh-pages"
cd ..\Vocaluxe
+17 -9
View File
@@ -7,6 +7,8 @@ else{
Return; Return;
} }
$Env:IS_BETA_RELEASE = ($Env:APPVEYOR_REPO_TAG_NAME -match "beta")
$getRelaseInfoParams = @{ $getRelaseInfoParams = @{
Uri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/releases/tags/$targetTag"; Uri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/releases/tags/$targetTag";
Method = 'GET'; Method = 'GET';
@@ -23,20 +25,26 @@ catch [System.Net.WebException]
# No Release found for this tag # No Release found for this tag
$statusCode = [int]$_.Exception.Response.StatusCode $statusCode = [int]$_.Exception.Response.StatusCode
$html = $_.Exception.Response.StatusDescription $html = $_.Exception.Response.StatusDescription
Write-Host "No Release found for this tag ($html): $($Env:APPVEYOR_REPO_TAG_NAME)" Write-Host "No Release found for this tag ($html): $targetTag"
Return; Return;
} }
$assetId = ($result.assets | where {$_.name -EQ "Vocaluxe_$($Env:APPVEYOR_REPO_TAG_NAME)_Windows_$($Env:PLATFORM).zip" } | Select-Object -first 1 ).id $releaseId = $result.id
if(!$assetId){ if(!$releaseId){
# No matching asset found in this release # No matching release found in this release
Write-Host "No matching asset found in this release: Vocaluxe_$($Env:APPVEYOR_REPO_TAG_NAME)_Windows_$($Env:PLATFORM).zip" Write-Host "No matching release found"
Return;
}
if($result.body -match $Env:APPVEYOR_REPO_COMMIT){
# An other build already recreated the release
Write-Host "An other build already recreated the release"
Return; Return;
} }
$deleteAssetParams = @{ $deleteAssetParams = @{
Uri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/releases/assets/$assetId"; Uri = "https://api.github.com/repos/Vocaluxe/Vocaluxe/releases/$releaseId";
Method = 'DELETE'; Method = 'DELETE';
Headers = @{ Headers = @{
Authorization = 'Basic ' + [Convert]::ToBase64String( Authorization = 'Basic ' + [Convert]::ToBase64String(
@@ -45,14 +53,14 @@ $deleteAssetParams = @{
} }
try{ try{
$result = Invoke-RestMethod @deleteAssetParams $result = Invoke-RestMethod @deleteAssetParams
Write-Host "Successfully deleted asset: Vocaluxe_$($Env:APPVEYOR_REPO_TAG_NAME)_Windows_$($Env:PLATFORM).zip" Write-Host "Successfully deleted release for: $targetTag"
} }
catch [System.Net.WebException] catch [System.Net.WebException]
{ {
# Could not delete asset # Could not delete release
$statusCode = [int]$_.Exception.Response.StatusCode $statusCode = [int]$_.Exception.Response.StatusCode
$html = $_.Exception.Response.StatusDescription $html = $_.Exception.Response.StatusDescription
Write-Host "Could not delete asset ($html): Vocaluxe_$($Env:APPVEYOR_REPO_TAG_NAME)_Windows_$($Env:PLATFORM).zip" Write-Host "Could not delete release ($html) for: $targetTag"
Return; Return;
} }
+1
View File
@@ -4,4 +4,5 @@ cd $PROJECT
sed -i -r -e 's/AssemblyInformationalVersion\(".*?"\)/AssemblyInformationalVersion("GITVERSION")/' $PROJECT/Properties/AssemblyInfo.cs sed -i -r -e 's/AssemblyInformationalVersion\(".*?"\)/AssemblyInformationalVersion("GITVERSION")/' $PROJECT/Properties/AssemblyInfo.cs
sed -i -r -e 's/AssemblyVersion\(".*?"\)/AssemblyVersion("SHORTVERSION")/' $PROJECT/Properties/AssemblyInfo.cs sed -i -r -e 's/AssemblyVersion\(".*?"\)/AssemblyVersion("SHORTVERSION")/' $PROJECT/Properties/AssemblyInfo.cs
sed -i -r -e 's/AssemblyFileVersion\(".*?"\)/AssemblyFileVersion("SHORTVERSION")/' $PROJECT/Properties/AssemblyInfo.cs sed -i -r -e 's/AssemblyFileVersion\(".*?"\)/AssemblyFileVersion("SHORTVERSION")/' $PROJECT/Properties/AssemblyInfo.cs
sed -i -r -e 's/AssemblyTitle\(".*?"\)/AssemblyTitle("FULLVERSION")/' $PROJECT/Properties/AssemblyInfo.cs
sed -i -e 's/var matchingServerVersion = "";/var matchingServerVersion = "'$(git describe --long)'";/' $PROJECT/../Output/Website/js/main.js sed -i -e 's/var matchingServerVersion = "";/var matchingServerVersion = "'$(git describe --long)'";/' $PROJECT/../Output/Website/js/main.js
+29
View File
@@ -0,0 +1,29 @@
#!/bin/sh
PROJECT=$1
cd $PROJECT
arch=$2
version=$(git describe --long)
shortVersion=${version%%-*}
shortVersionClean=$(echo $shortVersion | sed -e 's/alpha/0/' -e 's/beta/1/' -e 's/rc/2/' -e 's/[[:alpha:]]//g')
case ${shortVersion##*.} in
alpha*)
releaseType='Alpha'
;;
beta*)
releaseType='Beta'
;;
rc*)
releaseType='RC'
;;
*)
releaseType='Release'
;;
esac
versionName=$(grep -oP "\"${shortVersionClean%.*}.\" *: *\"\K([^\"]+)(?=\")" ../.build/versionNames.json)
fullVersionName="Vocaluxe $([ "$versionName" == "" ] && echo "" || echo "'$versionName' ")$shortVersion ($arch) $([ "$releaseType" == "Release" ] && echo "" || echo "$releaseType ")($version)"
sed -i -e s/GITVERSION/$(git describe --long)/ $PROJECT/Properties/AssemblyInfo.cs
sed -i -e s/SHORTVERSION/"$shortVersionClean"/ $PROJECT/Properties/AssemblyInfo.cs
sed -i -e s/FULLVERSION/"$fullVersionName"/ $PROJECT/Properties/AssemblyInfo.cs
+7
View File
@@ -0,0 +1,7 @@
{
"0.0.": "Unversioned Build",
"0.1.": "Rising Start",
"0.2.": "Sparkling Sky",
"0.3.": "Shining Heaven",
"0.4.": "Blue Sunrise"
}
+23
View File
@@ -0,0 +1,23 @@
param(
[Parameter(Mandatory=$true)]
[String]$ProjectDir
)
if($Env:GIT_VERSION_TAG)
{
$version = $Env:GIT_VERSION_TAG;
}
else
{
$version = git describe --long;
}
(Get-Content -Encoding UTF8 "$($ProjectDir)..\Output\Website\js\main.js") `
| Foreach-Object {$_ -replace '(?<=var *matchingServerVersion * = *\")\w*(?=\" *;)', "$version"} `
| Set-Content -Encoding UTF8 "$($ProjectDir)..\Output\Website\js\main.js"
(Get-Content -Encoding UTF8 "$($ProjectDir)Properties\AssemblyInfo.cs") `
| Foreach-Object {$_ -replace '(?<=AssemblyInformationalVersion\(\").*(?=\")', 'GITVERSION'} `
| Foreach-Object {$_ -replace '(?<=(AssemblyVersion|AssemblyFileVersion)\(\").*(?=\")', 'SHORTVERSION'} `
| Foreach-Object {$_ -replace '(?<=AssemblyTitle\(\").*(?=\")', 'FULLVERSION'} `
| Set-Content -Encoding UTF8 "$($ProjectDir)Properties\AssemblyInfo.cs"
+40
View File
@@ -0,0 +1,40 @@
param(
[Parameter(Mandatory=$true)]
[String]$ProjectDir,
[Parameter(Mandatory=$true)]
[String]$Arch
)
if($Env:GIT_VERSION_TAG)
{
$version = $Env:GIT_VERSION_TAG;
}
else
{
$version = git describe --long;
}
$shortVersion = $version.Split('-')[0];
[System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$versionName = (New-Object System.Web.Script.Serialization.JavaScriptSerializer).Deserialize((Get-Content "$($ProjectDir)..\.build\versionNames.json"), `
[System.Collections.Hashtable])[([regex]"[0-9]+\.[0-9]+\.").Match($shortVersion).Value]
$releaseType = switch -wildcard ($shortVersion.Split('.')[2])
{
"alpha*" {"Alpha"}
"beta*" {"Beta"}
"rc*" {"RC"}
default {"Release"}
};
$fullVersionName = "Vocaluxe $(if($versionName) {"'"+$versionName+"' "} else {''})$shortVersion ($Arch) $(if($releaseType -ne "Release") {'$releaseType '} else {''})($version)"
(Get-Content -Encoding UTF8 "$($ProjectDir)Properties\AssemblyInfo.cs") `
| Foreach-Object {$_ `
-replace '(?<=AssemblyInformationalVersion\(").*(?=")', $version `
-replace '(?<=(AssemblyVersion|AssemblyFileVersion)\(").*(?=")', `
($version.Split('-')[0].replace('alpha','0').replace('beta','1').replace('rc','2') -replace "[a-zA-Z]+","")`
-replace '(?<=AssemblyTitle\(").*(?=")', $fullVersionName `
-replace '(?<=AssemblyCopyright\(".*)[0-9]+(?=")', (Get-Date).Year} `
| Set-Content -Encoding UTF8 "$($ProjectDir)Properties\AssemblyInfo.cs"
+7 -5
View File
@@ -2,6 +2,7 @@ obj
PitchTracker.dll PitchTracker.dll
Thumbs.db Thumbs.db
.transifexrc .transifexrc
.vs
tx.exe tx.exe
*.mp4 *.mp4
*.pdb *.pdb
@@ -30,6 +31,7 @@ tx.exe
*.user *.user
*.VC.db *.VC.db
*.VC.opendb *.VC.opendb
*.dll.config
/*.vsp /*.vsp
/*.ctl /*.ctl
/Output/Config.xml /Output/Config.xml
@@ -48,16 +50,16 @@ tx.exe
/Output/Songs /Output/Songs
/Output/Playlists/*.xml /Output/Playlists/*.xml
/Output/Profiles/*.xml /Output/Profiles/*.xml
/Output/Profiles/*.png
/Output/PartyModes/*/Code/* /Output/PartyModes/*/Code/*
/PartyModes/*/*/*.dll /PartyModes/*/*/*.dll
/VocaluxeLib/bin /VocaluxeLib/bin
/ServerLib/bin/ClientServerLib.dll /ServerLib/bin/ClientServerLib.dll
/Installer/setup-cache /Installer/setup-cache
/Installer/setup-SetupFiles /Installer/Files
/Installer/vocaluxe-*-setup.exe /Installer/log.txt
/Installer/Vocaluxe*.rar /Installer/setup-cache
/Installer/Prerequisites/GStreamer x64/gstreamer-1.0-x86_64-1.4.1.msi /Installer/Setup Files
/Installer/Prerequisites/GStreamer x86/gstreamer-1.0-x86-1.4.1.msi
/WebserverInitalConfig/bin /WebserverInitalConfig/bin
/PhoneGap/ /PhoneGap/
/TestResults /TestResults
Binary file not shown.
-14
View File
@@ -1,14 +0,0 @@
REM compile x64
call "%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" x64
devenv.com ..\Vocaluxe.sln /Rebuild "InstallerWin|x64"
REM remove old x64 executables if found and rename
if exist "..\Output\Vocaluxe_x64.exe" del "..\Output\Vocaluxe_x64.exe"
ren "..\Output\Vocaluxe.exe" "Vocaluxe_x64.exe"
REM compile x86
call "%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" x86
devenv.com ..\Vocaluxe.sln /Rebuild "InstallerWin|x86"
REM compile installer
AdvancedInstaller.com /rebuild setup.aip
+74
View File
@@ -0,0 +1,74 @@
:: Build script for vocaluxe installer (x86 and x64 versions)
::
:: Requirements
:: - wget.exe: http://gnuwin32.sourceforge.net/packages/wget.htm
:: - unzip.exe: http://gnuwin32.sourceforge.net/packages/unzip.htm
:: - nuget.exe: https://www.nuget.org/downloads
:: - Visual Studio with devenv.exe (should be located in somewhere in Visual Studio folder, e.g. C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE)
:: - AdvancedInstaller
@ECHO OFF
echo Cloning vocaluxe from github and checkout master
if exist "Files" (
cd Files
git checkout -q develop >> log.txt
git pull -q >> log.txt
cd ../
) else (
git clone -q https://github.com/Vocaluxe/Vocaluxe.git Files > log.txt
cd Files
git checkout -q develop >> log.txt
cd ../
)
echo - Done
echo.
echo Download ambient videos and move them to themes folder
wget --append-output=log.txt -q -O videos.zip https://github.com/lukeIam/VocaluxeDependencies/blob/master/zips/themes/vocaluxe.themes.ambient.video.zip?raw=true || goto :error
unzip -q -o -d Files/Output videos.zip || goto :error
del /q videos.zip >> log.txt || goto :error
echo - Done
echo.
echo Delete lib-folder to prevent packing wrong dlls
del /q Files\Output\libs >> log.txt || goto :error
echo - Done
echo.
echo Restore dependencies and build x64
nuget restore Files/Vocaluxe.sln >> log.txt || goto :error
devenv Files/Vocaluxe.sln /Build "InstallerWin|x64" >> log.txt || goto :error
echo - Done
echo.
echo Build x64 installer
AdvancedInstaller.com /rebuild setup.aip -buildslist x64 >> log.txt || goto :error
echo - Done
echo.
echo Delete lib-folder to prevent packing wrong dlls
del /q Files\Output\libs >> log.txt || goto :error
echo - Done
echo.
echo Restore dependencies and build x86
nuget restore Files/Vocaluxe.sln >> log.txt || goto :error
devenv Files/Vocaluxe.sln /Build "InstallerWin|x86" >> log.txt || goto :error
echo - Done
echo.
echo Build x86 installer
AdvancedInstaller.com /rebuild setup.aip -buildslist x86 >> log.txt || goto :error
echo - Done
echo.
echo Everything is done!
pause
goto :EOF
:error
echo Failed with error #%errorlevel%.
echo See log.txt for more details.
pause
exit /b %errorlevel%
-20
View File
@@ -1,20 +0,0 @@
@echo off
SET version=v0.3.0
SET status=Beta
SET buildnum=0081
SET buildname=Vocaluxe %version% %status% (%buildnum%).rar
REM compile x64
call "%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" x64
devenv.com ..\Vocaluxe.sln /Rebuild "ReleaseWin|x64"
REM remove old x64 executables if found and rename
if exist "..\Output\Vocaluxe_x64.exe" del "..\Output\Vocaluxe_x64.exe"
ren "..\Output\Vocaluxe.exe" "Vocaluxe_x64.exe"
REM compile x86
call "%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" x86
devenv.com ..\Vocaluxe.sln /Rebuild "ReleaseWin|x86"
REM package
rar a -r -ep1 -x..\Output\CoverDB.sqlite -x..\Output\HighscoreDB.sqlite -x..\Output\*.log -x..\Output\*.pdb -x..\Output\Config.xml -x..\Output\Vocaluxe.vshost* -x..\Output\Songs -x..\Output\Screenshots -x..\Output\Playlists "%buildname%" "..\Output\*"
+3865 -847
View File
File diff suppressed because it is too large. Load diff
-55
View File
@@ -1,55 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="language">Asturianu</string>
<string name="TR_PROGRAM_NAME">Vocaluxe</string>
<string name="TR_GENERAL_AND">y</string>
<string name="TR_BUTTON_EXIT">Colar</string>
<string name="TR_BUTTON_SAVE">Atroxar</string>
<string name="TR_BUTTON_BACK">Tornar</string>
<string name="TR_BUTTON_START">Entamar</string>
<string name="TR_DEBUG_TEXTURES">Testures</string>
<string name="TR_DEBUG_MAX_VOLUME">Volume máximu</string>
<string name="TR_DEBUG_SONGS">Sones cargaes</string>
<string name="TR_DEBUG_MOUSE">Mur</string>
<string name="TR_GAMEMODE_NORMAL">Normal</string>
<string name="TR_GAMEMODE_DUET">Duetu</string>
<string name="TR_GAMEMODE_SHORTSONG">Versión curtia</string>
<string name="TR_RATING_SUPERSTAR">Super estrella</string>
<string name="TR_RATING_LEAD_SINGER">Cantante llider</string>
<string name="TR_RATING_RISING_STAR">Estrella n\'ascensu</string>
<string name="TR_RATING_HOPEFUL">Esperanzáu</string>
<string name="TR_RATING_AMATEUR">Amateur</string>
<string name="TR_CONFIG_SOFTWARE">Software</string>
<string name="TR_CONFIG_OPENGL">OpenGL</string>
<string name="TR_CONFIG_TEXTURE_LOWEST">Lowest</string>
<string name="TR_CONFIG_TEXTURE_LOW">Baxo</string>
<string name="TR_CONFIG_TEXTURE_MEDIUM">Medio</string>
<string name="TR_CONFIG_TEXTURE_HIGH">Alto</string>
<string name="TR_CONFIG_TEXTURE_HIGHEST">Llo más alto</string>
<string name="TR_CONFIG_OFF">Apagáu</string>
<string name="TR_CONFIG_ON">Enceso</string>
<string name="TR_CONFIG_ONLY_FPS">Solo FPS</string>
<string name="TR_CONFIG_LEVEL1">Nivel 1</string>
<string name="TR_CONFIG_LEVEL2">Nivel 2</string>
<string name="TR_CONFIG_LEVEL3">NIvel 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Max</string>
<string name="TR_CONFIG_LIST">Llista</string>
<string name="TR_CONFIG_COVERLOADING_ATSTART">Nel aniciu</string>
<string name="TR_CONFIG_RANDOM">Al debalu</string>
<string name="TR_CONFIG_FOLDER">Carpeta</string>
<string name="TR_CONFIG_ARTIST">Artista</string>
<string name="TR_CONFIG_ARTIST_LETTER">Lletra l\'artista</string>
<string name="TR_CONFIG_TITLE_LETTER">Títulu la lletra</string>
<string name="TR_CONFIG_EDITION">Edición</string>
<string name="TR_CONFIG_GENRE">Xéneru</string>
<string name="TR_CONFIG_YEAR">Añu</string>
<string name="TR_CONFIG_DECADE">Década</string>
<string name="TR_CONFIG_LANGUAGE">Llingua</string>
<string name="TR_CONFIG_EASY">Cenciello</string>
<string name="TR_CONFIG_NORMAL">Normal</string>
<string name="TR_CONFIG_HARD">Difícil</string>
<string name="TR_CONFIG_TIMERMODE_CURRENT">Anguaño</string>
<string name="TR_CONFIG_TIMERMODE_REMAINING">Faltante</string>
<string name="TR_CONFIG_TIMERMODE_TOTAL">Total</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string>
</resources>
+29 -14
View File
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<resources> <resources>
<string name="language"> čeština</string> <string name="language">Čeština</string>
<string name="TR_PROGRAM_NAME">Vocaluxe</string> <string name="TR_PROGRAM_NAME">Vocaluxe</string>
<string name="TR_GENERAL_AND">a</string> <string name="TR_GENERAL_AND">a</string>
<string name="TR_BUTTON_EXIT">Ukončit</string> <string name="TR_BUTTON_EXIT">Ukončit</string>
@@ -11,7 +11,7 @@
<string name="TR_DEBUG_VIDEO_STREAMS">Obrazové proudy</string> <string name="TR_DEBUG_VIDEO_STREAMS">Obrazové proudy</string>
<string name="TR_DEBUG_TEXTURES">Textury</string> <string name="TR_DEBUG_TEXTURES">Textury</string>
<string name="TR_DEBUG_TONE_ABS">ToneAbs</string> <string name="TR_DEBUG_TONE_ABS">ToneAbs</string>
<string name="TR_DEBUG_MAX_VOLUME">Nevětší hlasitost</string> <string name="TR_DEBUG_MAX_VOLUME">Největší hlasitost</string>
<string name="TR_DEBUG_SONGS">Nahrané písně</string> <string name="TR_DEBUG_SONGS">Nahrané písně</string>
<string name="TR_DEBUG_MOUSE">Myš</string> <string name="TR_DEBUG_MOUSE">Myš</string>
<string name="TR_DEBUG_MEMORY">Využití paměti</string> <string name="TR_DEBUG_MEMORY">Využití paměti</string>
@@ -28,7 +28,7 @@
<string name="TR_RATING_AMATEUR">Amatér</string> <string name="TR_RATING_AMATEUR">Amatér</string>
<string name="TR_RATING_TONE_DEAF">Neumětel - nemající hudební sluch</string> <string name="TR_RATING_TONE_DEAF">Neumětel - nemající hudební sluch</string>
<string name="TR_USERROLE_GUEST">Host</string> <string name="TR_USERROLE_GUEST">Host</string>
<string name="TR_USERROLE_NORMAL">Obyčejný uživatel</string> <string name="TR_USERROLE_NORMAL">Normální uživatel</string>
<string name="TR_USERROLE_ADMIN">Správce</string> <string name="TR_USERROLE_ADMIN">Správce</string>
<string name="TR_USERROLE_KEYBOARDUSER">Uživatel klávesnice</string> <string name="TR_USERROLE_KEYBOARDUSER">Uživatel klávesnice</string>
<string name="TR_CONFIG_SOFTWARE">Software</string> <string name="TR_CONFIG_SOFTWARE">Software</string>
@@ -46,6 +46,7 @@
<string name="TR_CONFIG_LEVEL2">Úroveň 2</string> <string name="TR_CONFIG_LEVEL2">Úroveň 2</string>
<string name="TR_CONFIG_LEVEL3">Úroveň 3</string> <string name="TR_CONFIG_LEVEL3">Úroveň 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Nejvíce</string> <string name="TR_CONFIG_LEVEL_MAX">Nejvíce</string>
<string name="TR_CONFIG_LIST">Seznam</string>
<string name="TR_CONFIG_DREIDEL">Drejdl (čtyřboká kostka)</string> <string name="TR_CONFIG_DREIDEL">Drejdl (čtyřboká kostka)</string>
<string name="TR_CONFIG_TILE_BOARD">Herní deska</string> <string name="TR_CONFIG_TILE_BOARD">Herní deska</string>
<string name="TR_CONFIG_BOOK">Kniha</string> <string name="TR_CONFIG_BOOK">Kniha</string>
@@ -72,6 +73,8 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Celkem</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Celkem</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normální</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normální</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Rozšířené</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Rozšířené</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_ALL">Uvést vše</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_BEST">Uvést nejlepší</string>
<string name="TR_CONFIG_OWN_MUSIC">Vlastní hudba a hudba na pozadí</string> <string name="TR_CONFIG_OWN_MUSIC">Vlastní hudba a hudba na pozadí</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Žádná vlastní hudba</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Žádná vlastní hudba</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Pouze vlastní hudba</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Pouze vlastní hudba</string>
@@ -79,6 +82,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Vše</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Vše</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Pouze jména a zastupující obrázky</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Pouze jména a zastupující obrázky</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nic</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nic</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Vyplnit</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Skočit</string>
<string name="TR_CONFIG_LYRICSTYLE_SLIDE">Sklouznout</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Zvětšení</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Dole</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Dole</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Nahoře</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">Nahoře</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Nahoře a dole</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">Nahoře a dole</string>
@@ -107,12 +114,12 @@
<string name="TR_SCREENPARTY_NUMPLAYERS">Počet hráčů</string> <string name="TR_SCREENPARTY_NUMPLAYERS">Počet hráčů</string>
<string name="TR_SCREENNAMES_MENU">Výběr hráče</string> <string name="TR_SCREENNAMES_MENU">Výběr hráče</string>
<string name="TR_SCREENNAMES_PLAYER">Hráč</string> <string name="TR_SCREENNAMES_PLAYER">Hráč</string>
<string name="TR_SCREENNAMES_1PLAYER">Hráč 1</string> <string name="TR_SCREENNAMES_1PLAYER">1 hráč</string>
<string name="TR_SCREENNAMES_2PLAYER">Hráč 2</string> <string name="TR_SCREENNAMES_2PLAYER">2 hráči</string>
<string name="TR_SCREENNAMES_3PLAYER">Hráč 3</string> <string name="TR_SCREENNAMES_3PLAYER">3 hráči</string>
<string name="TR_SCREENNAMES_4PLAYER">Hráč 4</string> <string name="TR_SCREENNAMES_4PLAYER">4 hráči</string>
<string name="TR_SCREENNAMES_5PLAYER">Hráč 5</string> <string name="TR_SCREENNAMES_5PLAYER">5 hráčů</string>
<string name="TR_SCREENNAMES_6PLAYER">Hráč 6</string> <string name="TR_SCREENNAMES_6PLAYER">6 hráčů</string>
<string name="TR_SCREENNAMES_WARNING_MICS_SG">Varování: Hráči %v není přiřazen žádný mikrofon!</string> <string name="TR_SCREENNAMES_WARNING_MICS_SG">Varování: Hráči %v není přiřazen žádný mikrofon!</string>
<string name="TR_SCREENNAMES_WARNING_MICS_PL">Varování: Hráčům %v nejsou přiřazeny žádné mikrofony!</string> <string name="TR_SCREENNAMES_WARNING_MICS_PL">Varování: Hráčům %v nejsou přiřazeny žádné mikrofony!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Varování: Hráči %v není přiřazen žádný profil!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Varování: Hráči %v není přiřazen žádný profil!</string>
@@ -162,7 +169,7 @@
<string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Uložit snímek obrazovky</string> <string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Uložit snímek obrazovky</string>
<string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Smazat snímek obrazovky</string> <string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Smazat snímek obrazovky</string>
<string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Kamera</string> <string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Kamera</string>
<string name="TR_SCREENO_OPTIONS">Nastavení nabídky</string> <string name="TR_SCREENO_OPTIONS">Nastavení</string>
<string name="TR_SCREENO_BUTTON_GAME">Hra</string> <string name="TR_SCREENO_BUTTON_GAME">Hra</string>
<string name="TR_SCREENO_BUTTON_SOUND">Zvuk</string> <string name="TR_SCREENO_BUTTON_SOUND">Zvuk</string>
<string name="TR_SCREENO_BUTTON_RECORD">Nahrávání</string> <string name="TR_SCREENO_BUTTON_RECORD">Nahrávání</string>
@@ -178,9 +185,16 @@
<string name="TR_SCREENOGAME_TABS">Karty</string> <string name="TR_SCREENOGAME_TABS">Karty</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Obtížnost hry</string> <string name="TR_SCREENOGAME_DIFFICULTY">Obtížnost hry</string>
<string name="TR_SCREENOGAME_TIMERMODE">Režim časomíry</string> <string name="TR_SCREENOGAME_TIMERMODE">Režim časomíry</string>
<string name="TR_SCREENOGAME_HIGHSCORESTYLE">Styl pro nejlepší výsledky</string>
<string name="TR_SCREENORECORD_OPTIONS">Nastavení nahrávání</string> <string name="TR_SCREENORECORD_OPTIONS">Nastavení nahrávání</string>
<string name="TR_SCREENORECORD_DEVICE">Zařízení</string> <string name="TR_SCREENORECORD_DEVICE">Zařízení</string>
<string name="TR_SCREENORECORD_INPUT">Vstup</string> <string name="TR_SCREENORECORD_INPUT">Vstup</string>
<string name="TR_SCREENORECORD_PLAYER_1">Hráč 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Hráč 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Hráč 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Hráč 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Hráč 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Hráč 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Zpoždění mikrofonu</string> <string name="TR_SCREENORECORD_MIC_DELAY">Zpoždění mikrofonu</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Varování: Alespoň jeden hráčům je přiřazen ke dvěma mikrofonům.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Varování: Alespoň jeden hráčům je přiřazen ke dvěma mikrofonům.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Zkouška zpoždění</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Zkouška zpoždění</string>
@@ -190,17 +204,18 @@
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Zdroj hudby na pozadí</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Zdroj hudby na pozadí</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Hlasitost ukázky</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Hlasitost ukázky</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Hlasitost hry</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Hlasitost hry</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Efekt Karaoke</string>
<string name="TR_SCREENOTHEME_OPTIONS">Nastavení tématu</string> <string name="TR_SCREENOTHEME_OPTIONS">Nastavení tématu</string>
<string name="TR_SCREENOTHEME_THEME">Téma</string> <string name="TR_SCREENOTHEME_THEME">Téma</string>
<string name="TR_SCREENOTHEME_SKIN">Vzhled</string> <string name="TR_SCREENOTHEME_SKIN">Vzhled</string>
<string name="TR_SCREENOTHEME_COVERTHEME">Téma obalu</string> <string name="TR_SCREENOTHEME_COVERTHEME">Téma obalu</string>
<string name="TR_SCREENOTHEME_NOTELINES">Ukázat notové linky</string> <string name="TR_SCREENOTHEME_NOTELINES">Ukázat notové linky</string>
<string name="TR_SCREENOTHEME_TONEHELPER">Ukázat pomocníka s tónem</string> <string name="TR_SCREENOTHEME_TONEHELPER">Ukázat pomocníka s tónem</string>
<string name="TR_SCREENOTHEME_TIMERLOOK">Vzhled časomíry</string> <string name="TR_SCREENOTHEME_TIMERLOOK">Režim časomíry</string>
<string name="TR_SCREENOTHEME_FADEINFO">Zesílit/Zeslabit informace přehrávače</string> <string name="TR_SCREENOTHEME_FADEINFO">Prolínat informace přehrávače</string>
<string name="TR_SCREENOTHEME_COVERLOADING">Chování nahrávání obalu</string> <string name="TR_SCREENOTHEME_COVERLOADING">Chování nahrávání obalu</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Nastavení textu písně</string> <string name="TR_SCREENOLYRICS_OPTIONS">Nastavení textu písně</string>
<string name="TR_SCREENOLYRICS_STYLE">Styl</string> <string name="TR_SCREENOLYRICS_STYLE">Styl animace</string>
<string name="TR_SCREENOLYRICS_POSITION">Poloha textu písně</string> <string name="TR_SCREENOLYRICS_POSITION">Poloha textu písně</string>
<string name="TR_SCREENOVIDEO_OPTIONS">Nastavení obrazu</string> <string name="TR_SCREENOVIDEO_OPTIONS">Nastavení obrazu</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Pozadí obrazu</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Pozadí obrazu</string>
@@ -210,7 +225,7 @@
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Kamery</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Kamery</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Rozlišení kamery</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Rozlišení kamery</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Přizpůsobení obrazovky</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Přizpůsobení obrazovky</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Stiskněte Ctrl + Alt (+ Shift) + šipky|\"+\" pro upravení obrazovky</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Stiskněte Ctrl + Alt (+ Shift) + šipky pro upravení obrazovky</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Ctrl + Alt + 0 pro vrácení úprav zpět na výchozí hodnoty</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Ctrl + Alt + 0 pro vrácení úprav zpět na výchozí hodnoty</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Nahoře vlevo</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Nahoře vlevo</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Nahoře vpravo</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Nahoře vpravo</string>
+8 -1
View File
@@ -46,6 +46,7 @@
<string name="TR_CONFIG_LEVEL2">Niveau 2</string> <string name="TR_CONFIG_LEVEL2">Niveau 2</string>
<string name="TR_CONFIG_LEVEL3">Niveau 3</string> <string name="TR_CONFIG_LEVEL3">Niveau 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Max</string> <string name="TR_CONFIG_LEVEL_MAX">Max</string>
<string name="TR_CONFIG_LIST">Liste</string>
<string name="TR_CONFIG_DREIDEL">Dreidel</string> <string name="TR_CONFIG_DREIDEL">Dreidel</string>
<string name="TR_CONFIG_TILE_BOARD">Tegels</string> <string name="TR_CONFIG_TILE_BOARD">Tegels</string>
<string name="TR_CONFIG_BOOK">Boek</string> <string name="TR_CONFIG_BOOK">Boek</string>
@@ -181,6 +182,12 @@
<string name="TR_SCREENORECORD_OPTIONS">Opname-opties</string> <string name="TR_SCREENORECORD_OPTIONS">Opname-opties</string>
<string name="TR_SCREENORECORD_DEVICE">Apparaat</string> <string name="TR_SCREENORECORD_DEVICE">Apparaat</string>
<string name="TR_SCREENORECORD_INPUT">Input</string> <string name="TR_SCREENORECORD_INPUT">Input</string>
<string name="TR_SCREENORECORD_PLAYER_1">Speler 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Speler 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Speler 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Speler 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Speler 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Speler 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Microfoonvertraging</string> <string name="TR_SCREENORECORD_MIC_DELAY">Microfoonvertraging</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Waarschuwing: Ten minste één speler is toegewezen aan twee microfoons.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Waarschuwing: Ten minste één speler is toegewezen aan twee microfoons.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Vertragingstest</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Vertragingstest</string>
@@ -210,7 +217,7 @@
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webcam resolutie</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webcam resolutie</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Beeldscherm aanpassingen</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Beeldscherm aanpassingen</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Druk Ctrl+ Alt (+ Shift) + pijltjestoetsen|\"+\" om het scherm aan te passen.</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Druk Ctrl+ Alt (+ Shift) + pijltjestoetsen|"+" om het scherm aan te passen.</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Ctrl + Alt + 0 om te herstellen</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Ctrl + Alt + 0 om te herstellen</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Top links</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Top links</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Top rechts</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Top rechts</string>
+1 -1
View File
@@ -105,7 +105,7 @@
<string name="TR_SCREENPARTY_DESCRIPTION">Description</string> <string name="TR_SCREENPARTY_DESCRIPTION">Description</string>
<string name="TR_SCREENPARTY_AUTHOR">Author</string> <string name="TR_SCREENPARTY_AUTHOR">Author</string>
<string name="TR_SCREENPARTY_VERSION">Version</string> <string name="TR_SCREENPARTY_VERSION">Version</string>
<string name="TR_SCREENPARTY_ERROR">Can\'t load this party-mode.</string> <string name="TR_SCREENPARTY_ERROR">Can't load this party-mode.</string>
<string name="TR_SCREENPARTY_ERROR_MICS">There are no mics configured!</string> <string name="TR_SCREENPARTY_ERROR_MICS">There are no mics configured!</string>
<string name="TR_SCREENPARTY_ERROR_MIC_NUM">%d mics are required for this party-mode!</string> <string name="TR_SCREENPARTY_ERROR_MIC_NUM">%d mics are required for this party-mode!</string>
<string name="TR_SCREENPARTY_TARGETAUDIENCE">Target audience</string> <string name="TR_SCREENPARTY_TARGETAUDIENCE">Target audience</string>
+17 -2
View File
@@ -46,6 +46,7 @@
<string name="TR_CONFIG_LEVEL2">Niveau 2</string> <string name="TR_CONFIG_LEVEL2">Niveau 2</string>
<string name="TR_CONFIG_LEVEL3">Niveau 3</string> <string name="TR_CONFIG_LEVEL3">Niveau 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Max</string> <string name="TR_CONFIG_LEVEL_MAX">Max</string>
<string name="TR_CONFIG_LIST">Afficher</string>
<string name="TR_CONFIG_DREIDEL">Caroussel</string> <string name="TR_CONFIG_DREIDEL">Caroussel</string>
<string name="TR_CONFIG_TILE_BOARD">Damier</string> <string name="TR_CONFIG_TILE_BOARD">Damier</string>
<string name="TR_CONFIG_BOOK">Livre</string> <string name="TR_CONFIG_BOOK">Livre</string>
@@ -56,7 +57,7 @@
<string name="TR_CONFIG_RANDOM">Aléatoire</string> <string name="TR_CONFIG_RANDOM">Aléatoire</string>
<string name="TR_CONFIG_FOLDER">Dossier</string> <string name="TR_CONFIG_FOLDER">Dossier</string>
<string name="TR_CONFIG_ARTIST">Artiste</string> <string name="TR_CONFIG_ARTIST">Artiste</string>
<string name="TR_CONFIG_ARTIST_LETTER">Initiale d'Artiste</string> <string name="TR_CONFIG_ARTIST_LETTER">Initiale d'Artist</string>
<string name="TR_CONFIG_TITLE_LETTER">Initiale de Titre</string> <string name="TR_CONFIG_TITLE_LETTER">Initiale de Titre</string>
<string name="TR_CONFIG_EDITION">Edition</string> <string name="TR_CONFIG_EDITION">Edition</string>
<string name="TR_CONFIG_GENRE">Genre</string> <string name="TR_CONFIG_GENRE">Genre</string>
@@ -72,6 +73,8 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Total</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Total</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Développé</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Développé</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_ALL">Tout afficher</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_BEST">Afficher les meilleurs</string>
<string name="TR_CONFIG_OWN_MUSIC">Musique personnelle et Musique de fond</string> <string name="TR_CONFIG_OWN_MUSIC">Musique personnelle et Musique de fond</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Pas de Musique personnelle</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Pas de Musique personnelle</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Seulement la Musique personnelle</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Seulement la Musique personnelle</string>
@@ -79,6 +82,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Tout</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Tout</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Seulement noms et avatars</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Seulement noms et avatars</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Rien</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Rien</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Remplir</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Sauter</string>
<string name="TR_CONFIG_LYRICSTYLE_SLIDE">Glisser</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Zoomer</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">En bas</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">En bas</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">En haut</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">En haut</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">En haut et en bas</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">En haut et en bas</string>
@@ -178,9 +185,16 @@
<string name="TR_SCREENOGAME_TABS">Dossiers</string> <string name="TR_SCREENOGAME_TABS">Dossiers</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Difficulté du Jeu</string> <string name="TR_SCREENOGAME_DIFFICULTY">Difficulté du Jeu</string>
<string name="TR_SCREENOGAME_TIMERMODE">Mode du Minuteur</string> <string name="TR_SCREENOGAME_TIMERMODE">Mode du Minuteur</string>
<string name="TR_SCREENOGAME_HIGHSCORESTYLE">Style meilleur score</string>
<string name="TR_SCREENORECORD_OPTIONS">Options d'Enregistrement</string> <string name="TR_SCREENORECORD_OPTIONS">Options d'Enregistrement</string>
<string name="TR_SCREENORECORD_DEVICE">Appareil</string> <string name="TR_SCREENORECORD_DEVICE">Appareil</string>
<string name="TR_SCREENORECORD_INPUT">Entrée</string> <string name="TR_SCREENORECORD_INPUT">Entrée</string>
<string name="TR_SCREENORECORD_PLAYER_1">Joueur 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Joueur 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Joueur 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Joueur 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Joueur 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Joueur 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Retard du Micro</string> <string name="TR_SCREENORECORD_MIC_DELAY">Retard du Micro</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Attention: Au moins un des joueurs est assigné à 2 micros.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Attention: Au moins un des joueurs est assigné à 2 micros.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Test du Retard</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Test du Retard</string>
@@ -190,6 +204,7 @@
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Source de la Musique de fond</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Source de la Musique de fond</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volume de la Musique de prévisualisation</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volume de la Musique de prévisualisation</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volume de la Musique du jeu</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volume de la Musique du jeu</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Effet Karaoké</string>
<string name="TR_SCREENOTHEME_OPTIONS">Options du Thème</string> <string name="TR_SCREENOTHEME_OPTIONS">Options du Thème</string>
<string name="TR_SCREENOTHEME_THEME">Thème</string> <string name="TR_SCREENOTHEME_THEME">Thème</string>
<string name="TR_SCREENOTHEME_SKIN">Environnement graphique</string> <string name="TR_SCREENOTHEME_SKIN">Environnement graphique</string>
@@ -209,7 +224,7 @@
<string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Afficher la vidéo de la musique de fond</string> <string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Afficher la vidéo de la musique de fond</string>
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Résolution de la Webcam</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Résolution de la Webcam</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustements de l'écran</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustements de l'écra</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Appuyer sur CTRL + ALT (+ Maj) + Flèches|"+" pour ajuster l'écran</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Appuyer sur CTRL + ALT (+ Maj) + Flèches|"+" pour ajuster l'écran</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTRL + ALT + 0 pour annuler</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTRL + ALT + 0 pour annuler</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Haut gauche</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Haut gauche</string>
+39 -31
View File
@@ -11,7 +11,7 @@
<string name="TR_DEBUG_VIDEO_STREAMS">Video-Streams</string> <string name="TR_DEBUG_VIDEO_STREAMS">Video-Streams</string>
<string name="TR_DEBUG_TEXTURES">Textures</string> <string name="TR_DEBUG_TEXTURES">Textures</string>
<string name="TR_DEBUG_TONE_ABS">ToneAbs</string> <string name="TR_DEBUG_TONE_ABS">ToneAbs</string>
<string name="TR_DEBUG_MAX_VOLUME">Max. Volume</string> <string name="TR_DEBUG_MAX_VOLUME">Max Lautstärke</string>
<string name="TR_DEBUG_SONGS">Geladene Songs</string> <string name="TR_DEBUG_SONGS">Geladene Songs</string>
<string name="TR_DEBUG_MOUSE">Maus</string> <string name="TR_DEBUG_MOUSE">Maus</string>
<string name="TR_DEBUG_MEMORY">Speicherverbrauch</string> <string name="TR_DEBUG_MEMORY">Speicherverbrauch</string>
@@ -30,7 +30,7 @@
<string name="TR_USERROLE_GUEST">Gast</string> <string name="TR_USERROLE_GUEST">Gast</string>
<string name="TR_USERROLE_NORMAL">Normaler Benutzer</string> <string name="TR_USERROLE_NORMAL">Normaler Benutzer</string>
<string name="TR_USERROLE_ADMIN">Administrator</string> <string name="TR_USERROLE_ADMIN">Administrator</string>
<string name="TR_USERROLE_KEYBOARDUSER">Tastatur</string> <string name="TR_USERROLE_KEYBOARDUSER">Tastatur Benutzer</string>
<string name="TR_CONFIG_SOFTWARE">Software</string> <string name="TR_CONFIG_SOFTWARE">Software</string>
<string name="TR_CONFIG_OPENGL">OpenGL</string> <string name="TR_CONFIG_OPENGL">OpenGL</string>
<string name="TR_CONFIG_DIRECT3D">Direct3D</string> <string name="TR_CONFIG_DIRECT3D">Direct3D</string>
@@ -46,19 +46,19 @@
<string name="TR_CONFIG_LEVEL2">Level 2</string> <string name="TR_CONFIG_LEVEL2">Level 2</string>
<string name="TR_CONFIG_LEVEL3">Level 3</string> <string name="TR_CONFIG_LEVEL3">Level 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Maximal</string> <string name="TR_CONFIG_LEVEL_MAX">Maximal</string>
<string name="TR_CONFIG_LIST">Song-Liste</string> <string name="TR_CONFIG_LIST">Liste</string>
<string name="TR_CONFIG_DREIDEL">Dreidel</string> <string name="TR_CONFIG_DREIDEL">Dreidel</string>
<string name="TR_CONFIG_TILE_BOARD">TileBoard</string> <string name="TR_CONFIG_TILE_BOARD">Kacheln</string>
<string name="TR_CONFIG_BOOK">Book</string> <string name="TR_CONFIG_BOOK">Book</string>
<string name="TR_CONFIG_COVERLOADING_ONDEMAND">Bei Bedarf</string> <string name="TR_CONFIG_COVERLOADING_ONDEMAND">Auf Abruf</string>
<string name="TR_CONFIG_COVERLOADING_ATSTART">Bei Programmstart</string> <string name="TR_CONFIG_COVERLOADING_ATSTART">Beim Start</string>
<string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dynamisch</string> <string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dynamisch</string>
<string name="TR_CONFIG_NONE">Keine</string> <string name="TR_CONFIG_NONE">Keine</string>
<string name="TR_CONFIG_RANDOM">Zufällig</string> <string name="TR_CONFIG_RANDOM">Zufällig</string>
<string name="TR_CONFIG_FOLDER">Ordner</string> <string name="TR_CONFIG_FOLDER">Ordner</string>
<string name="TR_CONFIG_ARTIST">Artist</string> <string name="TR_CONFIG_ARTIST">Artist</string>
<string name="TR_CONFIG_ARTIST_LETTER">Artist Buchstabe</string> <string name="TR_CONFIG_ARTIST_LETTER">Artist-Buchstabe</string>
<string name="TR_CONFIG_TITLE_LETTER">Titel Buchstabe</string> <string name="TR_CONFIG_TITLE_LETTER">Titel-Buchstabe</string>
<string name="TR_CONFIG_EDITION">Edition</string> <string name="TR_CONFIG_EDITION">Edition</string>
<string name="TR_CONFIG_GENRE">Genre</string> <string name="TR_CONFIG_GENRE">Genre</string>
<string name="TR_CONFIG_YEAR">Jahr</string> <string name="TR_CONFIG_YEAR">Jahr</string>
@@ -73,6 +73,8 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Gesamt</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Gesamt</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Erweitert</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Erweitert</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_ALL">Alle auflisten</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_BEST">Bester Spieler-Score</string>
<string name="TR_CONFIG_OWN_MUSIC">Eigene Musik und Hintergrundmusik</string> <string name="TR_CONFIG_OWN_MUSIC">Eigene Musik und Hintergrundmusik</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Keine eigene Musik</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Keine eigene Musik</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Nur eigene Musik</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Nur eigene Musik</string>
@@ -80,6 +82,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alle</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Nur Namen und Avatar</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Keine</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Keine</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Füllen</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Springen</string>
<string name="TR_CONFIG_LYRICSTYLE_SLIDE">Schieben</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Zoom</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Unten</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Unten</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Oben</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">Oben</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Oben und Unten</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">Oben und Unten</string>
@@ -133,7 +139,7 @@
<string name="TR_SCREENSONG_NEWPLAYLIST">Neue Playlist</string> <string name="TR_SCREENSONG_NEWPLAYLIST">Neue Playlist</string>
<string name="TR_SCREENSONG_SONGOPTIONS">Lied-Optionen</string> <string name="TR_SCREENSONG_SONGOPTIONS">Lied-Optionen</string>
<string name="TR_SCREENSONG_SEARCH">Suche:</string> <string name="TR_SCREENSONG_SEARCH">Suche:</string>
<string name="TR_SCREENSONG_NOLANGUAGE">Ohne Sprache</string> <string name="TR_SCREENSONG_NOLANGUAGE">Keine Sprache</string>
<string name="TR_SCREENSONG_NOYEAR">Ohne Jahr</string> <string name="TR_SCREENSONG_NOYEAR">Ohne Jahr</string>
<string name="TR_SCREENSONG_NOGENRE">Ohne Genre</string> <string name="TR_SCREENSONG_NOGENRE">Ohne Genre</string>
<string name="TR_SCREENSONG_NOEDITION">Ohne Edition</string> <string name="TR_SCREENSONG_NOEDITION">Ohne Edition</string>
@@ -152,16 +158,16 @@
<string name="TR_SCREENSCORE_OVERALLSCORE">Gesamtpunktzahl</string> <string name="TR_SCREENSCORE_OVERALLSCORE">Gesamtpunktzahl</string>
<string name="TR_SCREENHIGHSCORE_HIGHSCORE">Highscore</string> <string name="TR_SCREENHIGHSCORE_HIGHSCORE">Highscore</string>
<string name="TR_SCREENPROFILES_PROFILES">Profile</string> <string name="TR_SCREENPROFILES_PROFILES">Profile</string>
<string name="TR_SCREENPROFILES_PLAYERNAME">Spieler-Name</string> <string name="TR_SCREENPROFILES_PLAYERNAME">Spielername</string>
<string name="TR_SCREENPROFILES_GAMEDIFFICULTY">Schwierigkeit</string> <string name="TR_SCREENPROFILES_GAMEDIFFICULTY">Schwierigkeit</string>
<string name="TR_SCREENPROFILES_AVATAR">Avatar</string> <string name="TR_SCREENPROFILES_AVATAR">Avatar</string>
<string name="TR_SCREENPROFILES_USERROLE">Benutzerrolle</string> <string name="TR_SCREENPROFILES_USERROLE">Benutzerrolle</string>
<string name="TR_SCREENPROFILES_ACTIVE">Aktiv</string> <string name="TR_SCREENPROFILES_ACTIVE">Aktiv</string>
<string name="TR_SCREENPROFILES_BUTTON_NEW">Neu</string> <string name="TR_SCREENPROFILES_BUTTON_NEW">Neu</string>
<string name="TR_SCREENPROFILES_BUTTON_DELETE">Löschen</string> <string name="TR_SCREENPROFILES_BUTTON_DELETE">Löschen</string>
<string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Snapshot</string> <string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Schnappschuss aufnehmen</string>
<string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Snapshot speichern</string> <string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Schnappschuss speichern</string>
<string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Snapshot löschen</string> <string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Schnappschuss löschen</string>
<string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webcam</string> <string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webcam</string>
<string name="TR_SCREENO_OPTIONS">Einstellungen</string> <string name="TR_SCREENO_OPTIONS">Einstellungen</string>
<string name="TR_SCREENO_BUTTON_GAME">Spiel</string> <string name="TR_SCREENO_BUTTON_GAME">Spiel</string>
@@ -174,11 +180,12 @@
<string name="TR_SCREENOGAME_OPTIONS">Spieleinstellungen</string> <string name="TR_SCREENOGAME_OPTIONS">Spieleinstellungen</string>
<string name="TR_SCREENOGAME_LANGUAGE">Sprache</string> <string name="TR_SCREENOGAME_LANGUAGE">Sprache</string>
<string name="TR_SCREENOGAME_DEBUGLEVEL">Debug-Level</string> <string name="TR_SCREENOGAME_DEBUGLEVEL">Debug-Level</string>
<string name="TR_SCREENOGAME_SONGMENU">Song-Menü</string> <string name="TR_SCREENOGAME_SONGMENU">Song-Menu-Stil</string>
<string name="TR_SCREENOGAME_SONGSORTING">Song-Sortierung</string> <string name="TR_SCREENOGAME_SONGSORTING">Sortierung der Lieder</string>
<string name="TR_SCREENOGAME_TABS">Kategorieren anzeigen</string> <string name="TR_SCREENOGAME_TABS">Kategorieren anzeigen</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Schwierigkeit</string> <string name="TR_SCREENOGAME_DIFFICULTY">Schwierigkeit</string>
<string name="TR_SCREENOGAME_TIMERMODE">Timer-Modus</string> <string name="TR_SCREENOGAME_TIMERMODE">Zeit-Modus</string>
<string name="TR_SCREENOGAME_HIGHSCORESTYLE">Highscore-Stil</string>
<string name="TR_SCREENORECORD_OPTIONS">Aufnahmeeinstellungen</string> <string name="TR_SCREENORECORD_OPTIONS">Aufnahmeeinstellungen</string>
<string name="TR_SCREENORECORD_DEVICE">Soundkarte</string> <string name="TR_SCREENORECORD_DEVICE">Soundkarte</string>
<string name="TR_SCREENORECORD_INPUT">Eingang</string> <string name="TR_SCREENORECORD_INPUT">Eingang</string>
@@ -188,37 +195,38 @@
<string name="TR_SCREENORECORD_PLAYER_4">Spieler 4</string> <string name="TR_SCREENORECORD_PLAYER_4">Spieler 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Spieler 5</string> <string name="TR_SCREENORECORD_PLAYER_5">Spieler 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Spieler 6</string> <string name="TR_SCREENORECORD_PLAYER_6">Spieler 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Mikrofon-Verzögerung</string> <string name="TR_SCREENORECORD_MIC_DELAY">Mikrofonverzögerung</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Warnung: Momentan sind einem Spieler zwei Mikrofone zugeordnet!</string> <string name="TR_SCREENORECORD_MIC_WARNING">Warnung: Momentan sind einem Spieler zwei Mikrofone zugeordnet!</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Verzögerungs-Test</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Verzögerungs-Test</string>
<string name="TR_SCREENOSOUND_OPTIONS">Soundeinstellungen</string> <string name="TR_SCREENOSOUND_OPTIONS">Sound Einstellungen</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Hintergrundmusik</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Hintergrundmusik</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Hintergrundmusiklautstärke</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Lautstärke der Hintergrundmusik</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Hintergrundmusikquelle</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Quelle der Hintergrundmusik</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Vorschaulautstärke</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Lautstärke der Vorschau</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Spiellautstärke</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Lautstärke des Spiels</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Karaoke Effekt</string>
<string name="TR_SCREENOTHEME_OPTIONS">Designeinstellungen</string> <string name="TR_SCREENOTHEME_OPTIONS">Designeinstellungen</string>
<string name="TR_SCREENOTHEME_THEME">Design</string> <string name="TR_SCREENOTHEME_THEME">Design</string>
<string name="TR_SCREENOTHEME_SKIN">Skin</string> <string name="TR_SCREENOTHEME_SKIN">Skin</string>
<string name="TR_SCREENOTHEME_COVERTHEME">Cover-Theme</string> <string name="TR_SCREENOTHEME_COVERTHEME">Cover-Theme</string>
<string name="TR_SCREENOTHEME_NOTELINES">Noten-Linien anzeigen</string> <string name="TR_SCREENOTHEME_NOTELINES">Notenlinien anzeigen</string>
<string name="TR_SCREENOTHEME_TONEHELPER">Ton-Helfer anzeigen</string> <string name="TR_SCREENOTHEME_TONEHELPER">Ton-Helfer anzeigen</string>
<string name="TR_SCREENOTHEME_TIMERLOOK">Aussehen des Timers</string> <string name="TR_SCREENOTHEME_TIMERLOOK">Zeitleisten-Modus</string>
<string name="TR_SCREENOTHEME_FADEINFO">Spieler-Infos ein/ausblenden</string> <string name="TR_SCREENOTHEME_FADEINFO">Spieler-Informationen einblenden</string>
<string name="TR_SCREENOTHEME_COVERLOADING">Cover Ladeverhalten</string> <string name="TR_SCREENOTHEME_COVERLOADING">Verhalten beim Laden der Cover</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string> <string name="TR_SCREENOLYRICS_OPTIONS">Songtexteinstellungen</string>
<string name="TR_SCREENOLYRICS_STYLE">Stil</string> <string name="TR_SCREENOLYRICS_STYLE">Lyrics-Animation</string>
<string name="TR_SCREENOLYRICS_POSITION">Lyrics Position</string> <string name="TR_SCREENOLYRICS_POSITION">Lyrics Position</string>
<string name="TR_SCREENOVIDEO_OPTIONS">Videoeinstellungen</string> <string name="TR_SCREENOVIDEO_OPTIONS">Videoeinstellungen</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video-Hintergründe</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string> <string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video-Vorschau</string>
<string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videos während des Singens</string> <string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videos während des Singens</string>
<string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Zeige Video zur Hintergrundmusik</string> <string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Aktuelles Hintergrundvideo anzeigen</string>
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcams</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webcam-Auflösung</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webcam-Auflösung</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Anzeigeanpassungen</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Bildschirm anpassen</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">STRG + ALT (+ SHIFT) + Pfeiltasten oder "+" drücken um den Bildschirm zu justieren.</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">STRG + ALT (+ UMSCHALT) + Pfeile drücken, um Bildschirm anzupassen</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">STRG + ALT + 0 um die Änderungen zurückzusetzen.</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">STRG + ALT + 0 um Einstellungen zurückzusetzen</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Oben links</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Oben links</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Oben rechts</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Oben rechts</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_BOTTOMLEFT">Unten links</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_BOTTOMLEFT">Unten links</string>
+68 -54
View File
@@ -11,7 +11,7 @@
<string name="TR_DEBUG_VIDEO_STREAMS">Video streams</string> <string name="TR_DEBUG_VIDEO_STREAMS">Video streams</string>
<string name="TR_DEBUG_TEXTURES">Textúrák</string> <string name="TR_DEBUG_TEXTURES">Textúrák</string>
<string name="TR_DEBUG_TONE_ABS">ToneAbs</string> <string name="TR_DEBUG_TONE_ABS">ToneAbs</string>
<string name="TR_DEBUG_MAX_VOLUME">Max Hangerő</string> <string name="TR_DEBUG_MAX_VOLUME">Max hangerő</string>
<string name="TR_DEBUG_SONGS">Betöltött dalok</string> <string name="TR_DEBUG_SONGS">Betöltött dalok</string>
<string name="TR_DEBUG_MOUSE">Egér</string> <string name="TR_DEBUG_MOUSE">Egér</string>
<string name="TR_DEBUG_MEMORY">Memóriahasználat</string> <string name="TR_DEBUG_MEMORY">Memóriahasználat</string>
@@ -30,6 +30,7 @@
<string name="TR_USERROLE_GUEST">Vendég</string> <string name="TR_USERROLE_GUEST">Vendég</string>
<string name="TR_USERROLE_NORMAL">Normál felhasználó</string> <string name="TR_USERROLE_NORMAL">Normál felhasználó</string>
<string name="TR_USERROLE_ADMIN">Adminisztrátor</string> <string name="TR_USERROLE_ADMIN">Adminisztrátor</string>
<string name="TR_USERROLE_KEYBOARDUSER">Billentyűzetkezelő</string>
<string name="TR_CONFIG_SOFTWARE">Szoftveres</string> <string name="TR_CONFIG_SOFTWARE">Szoftveres</string>
<string name="TR_CONFIG_OPENGL">OpenGL</string> <string name="TR_CONFIG_OPENGL">OpenGL</string>
<string name="TR_CONFIG_DIRECT3D">Direct3D</string> <string name="TR_CONFIG_DIRECT3D">Direct3D</string>
@@ -45,18 +46,19 @@
<string name="TR_CONFIG_LEVEL2">2. Szint</string> <string name="TR_CONFIG_LEVEL2">2. Szint</string>
<string name="TR_CONFIG_LEVEL3">3. Szint</string> <string name="TR_CONFIG_LEVEL3">3. Szint</string>
<string name="TR_CONFIG_LEVEL_MAX">Max</string> <string name="TR_CONFIG_LEVEL_MAX">Max</string>
<string name="TR_CONFIG_LIST">Lista</string>
<string name="TR_CONFIG_DREIDEL">Körhinta</string> <string name="TR_CONFIG_DREIDEL">Körhinta</string>
<string name="TR_CONFIG_TILE_BOARD">Csempe</string> <string name="TR_CONFIG_TILE_BOARD">Csempék</string>
<string name="TR_CONFIG_BOOK">Könyv</string> <string name="TR_CONFIG_BOOK">Könyv</string>
<string name="TR_CONFIG_COVERLOADING_ONDEMAND">Amikor Szükséges</string> <string name="TR_CONFIG_COVERLOADING_ONDEMAND">Dinamikusan</string>
<string name="TR_CONFIG_COVERLOADING_ATSTART">Indulásnál</string> <string name="TR_CONFIG_COVERLOADING_ATSTART">Indításnál</string>
<string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinamikusan</string> <string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinamikusan</string>
<string name="TR_CONFIG_NONE">Nincs</string> <string name="TR_CONFIG_NONE">Nincs</string>
<string name="TR_CONFIG_RANDOM">Véletlenszerű</string> <string name="TR_CONFIG_RANDOM">Véletlenszerű</string>
<string name="TR_CONFIG_FOLDER">Könyvtár</string> <string name="TR_CONFIG_FOLDER">Könyvtár</string>
<string name="TR_CONFIG_ARTIST">Előadó</string> <string name="TR_CONFIG_ARTIST">Előadó</string>
<string name="TR_CONFIG_ARTIST_LETTER">Előadó Betűrendben </string> <string name="TR_CONFIG_ARTIST_LETTER">Előadó betűrend szerint</string>
<string name="TR_CONFIG_TITLE_LETTER">Cím Betűrendben</string> <string name="TR_CONFIG_TITLE_LETTER">Cím betűrend szerint</string>
<string name="TR_CONFIG_EDITION">Kiadás</string> <string name="TR_CONFIG_EDITION">Kiadás</string>
<string name="TR_CONFIG_GENRE">Műfaj</string> <string name="TR_CONFIG_GENRE">Műfaj</string>
<string name="TR_CONFIG_YEAR">Év</string> <string name="TR_CONFIG_YEAR">Év</string>
@@ -71,13 +73,17 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Összes</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Összes</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normál</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normál</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Kibővített</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Kibővített</string>
<string name="TR_CONFIG_OWN_MUSIC">Saját és Háttérzene</string> <string name="TR_CONFIG_OWN_MUSIC">Saját- és háttérzene</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Nincs Saját Zene</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Saját zenét ne</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Csak Saját zene</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Csak saját zenét</string>
<string name="TR_CONFIG_ONLY_SONG">Csak a kiválasztott dal</string> <string name="TR_CONFIG_ONLY_SONG">Csak a kiválasztott dal</string>
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Mindent</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Mindent</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Csak Nevek és Profilképek</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Csak Nevek és Profilképek</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Semmit</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Semmit</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Kiszínezés</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Ugrás</string>
<string name="TR_CONFIG_LYRICSTYLE_SLIDE">Csúsztatás</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Nagyítás</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Alul</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Alul</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Felül</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">Felül</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Felül és alul</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">Felül és alul</string>
@@ -88,55 +94,56 @@
<string name="TR_SCREENLOAD_LOADED">betöltve</string> <string name="TR_SCREENLOAD_LOADED">betöltve</string>
<string name="TR_SCREENMAIN_MENU">Főmenü</string> <string name="TR_SCREENMAIN_MENU">Főmenü</string>
<string name="TR_SCREENMAIN_BUTTON_SING">Éneklés</string> <string name="TR_SCREENMAIN_BUTTON_SING">Éneklés</string>
<string name="TR_SCREENMAIN_BUTTON_PARTY">Buli</string> <string name="TR_SCREENMAIN_BUTTON_PARTY">Parti</string>
<string name="TR_SCREENMAIN_BUTTON_OPTIONS">Beállítások</string> <string name="TR_SCREENMAIN_BUTTON_OPTIONS">Beállítások</string>
<string name="TR_SCREENMAIN_BUTTON_PROFILES">Profilok</string> <string name="TR_SCREENMAIN_BUTTON_PROFILES">Profilok</string>
<string name="TR_SCREENMAIN_TEXT_NOPROFILES">Nincsenek profilok! </string> <string name="TR_SCREENMAIN_TEXT_NOPROFILES">Nincsenek profilok! </string>
<string name="TR_SCREENPARTY_TITLE">Parti Mód Választás</string> <string name="TR_SCREENPARTY_TITLE">Parti mód választás</string>
<string name="TR_SCREENPARTY_MODES">Parti Mód</string> <string name="TR_SCREENPARTY_MODES">Parti Mód</string>
<string name="TR_SCREENPARTY_DESCRIPTION">Leírás</string> <string name="TR_SCREENPARTY_DESCRIPTION">Leírás</string>
<string name="TR_SCREENPARTY_AUTHOR">Készítő</string> <string name="TR_SCREENPARTY_AUTHOR">Készítő</string>
<string name="TR_SCREENPARTY_VERSION">Verzió</string> <string name="TR_SCREENPARTY_VERSION">Verzió</string>
<string name="TR_SCREENPARTY_ERROR">Nem Betölthető Parti Mód.</string> <string name="TR_SCREENPARTY_ERROR">Nem Betölthető Parti Mód.</string>
<string name="TR_SCREENPARTY_ERROR_MICS">Nincs mikrofon beállítva! </string> <string name="TR_SCREENPARTY_ERROR_MICS">Nincs mikrofon beállítva! </string>
<string name="TR_SCREENPARTY_ERROR_MIC_NUM">%d mikrofon szükséges ehhez a parti-módhoz</string>
<string name="TR_SCREENPARTY_TARGETAUDIENCE">Célközönség</string> <string name="TR_SCREENPARTY_TARGETAUDIENCE">Célközönség</string>
<string name="TR_SCREENPARTY_NOTEAMS">Csapatok Nélkül</string> <string name="TR_SCREENPARTY_NOTEAMS">Csapatok Nélkül</string>
<string name="TR_SCREENPARTY_NUMTEAMS">Csapatok Száma</string> <string name="TR_SCREENPARTY_NUMTEAMS">Csapatok Száma</string>
<string name="TR_SCREENPARTY_NUMPLAYERS">Játékosok Száma</string> <string name="TR_SCREENPARTY_NUMPLAYERS">Játékosok Száma</string>
<string name="TR_SCREENNAMES_MENU">Játékos Választás</string> <string name="TR_SCREENNAMES_MENU">Játékos Választás</string>
<string name="TR_SCREENNAMES_PLAYER">Játékos</string> <string name="TR_SCREENNAMES_PLAYER">Játékos</string>
<string name="TR_SCREENNAMES_1PLAYER">Játékos 1</string> <string name="TR_SCREENNAMES_1PLAYER">1 játékos</string>
<string name="TR_SCREENNAMES_2PLAYER">Játékos 2</string> <string name="TR_SCREENNAMES_2PLAYER">2 játékos</string>
<string name="TR_SCREENNAMES_3PLAYER">Játékos 3</string> <string name="TR_SCREENNAMES_3PLAYER">3 játékos</string>
<string name="TR_SCREENNAMES_4PLAYER">Játékos 4</string> <string name="TR_SCREENNAMES_4PLAYER">4 játékos</string>
<string name="TR_SCREENNAMES_5PLAYER">Játékos 5</string> <string name="TR_SCREENNAMES_5PLAYER">5 játékos</string>
<string name="TR_SCREENNAMES_6PLAYER">Játékos 6</string> <string name="TR_SCREENNAMES_6PLAYER">6 játékos</string>
<string name="TR_SCREENNAMES_WARNING_MICS_SG">Figyelem: Nincs mikrofon csatlakoztatva a következő játékoshoz %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_SG">Figyelem: Nincs mikrofon csatlakoztatva a következő játékoshoz %v!</string>
<string name="TR_SCREENNAMES_WARNING_MICS_PL">Figyelem: Nincsenek mikrofonok csatlakoztatva a következő játékosokhoz %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_PL">Figyelem: Nincsenek mikrofonok csatlakoztatva a következő játékosokhoz %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Figyelem: Nincs profil hozzárendelve a következő játékoshoz %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Figyelem: Nincs profil hozzárendelve a következő játékoshoz %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Figyelem: Nincsenek profilok hozzárendelve a következő játékosokhoz %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Figyelem: Nincsenek profilok hozzárendelve a következő játékosokhoz %v!</string>
<string name="TR_SCREENSONG_MENU">Dalválasztás</string> <string name="TR_SCREENSONG_MENU">Dalválasztás</string>
<string name="TR_SCREENSONG_BUTTON_SING">Éneklés</string> <string name="TR_SCREENSONG_BUTTON_SING">Éneklés</string>
<string name="TR_SCREENSONG_BUTTON_PLAYLIST">Listához Hozzáadás</string> <string name="TR_SCREENSONG_BUTTON_PLAYLIST">Hozzáadás a lejátszási listához</string>
<string name="TR_SCREENSONG_BUTTON_CANCEL">Bezárás</string> <string name="TR_SCREENSONG_BUTTON_CANCEL">Bezárás</string>
<string name="TR_SCREENSONG_BUTTON_RANDOM">Véletlenszerű Dal Kiválasztása</string> <string name="TR_SCREENSONG_BUTTON_RANDOM">Véletlenszerű Dal Kiválasztása</string>
<string name="TR_SCREENSONG_BUTTON_RANDOMCAT">Véletlenszerű Kategória Kiválasztása </string> <string name="TR_SCREENSONG_BUTTON_RANDOMCAT">Véletlenszerű Kategória Kiválasztása </string>
<string name="TR_SCREENSONG_BUTTON_SINGALL">Összes Dal Éneklése</string> <string name="TR_SCREENSONG_BUTTON_SINGALL">Minden dal éneklése</string>
<string name="TR_SCREENSONG_BUTTON_SINGALLVISIBLE">Itt látható Dalok Éneklése</string> <string name="TR_SCREENSONG_BUTTON_SINGALLVISIBLE">Itt látható Dalok Éneklése</string>
<string name="TR_SCREENSONG_BUTTON_OPENPLAYLIST">Lista Megnyitása</string> <string name="TR_SCREENSONG_BUTTON_OPENPLAYLIST">Lejátszási lista megnyitása</string>
<string name="TR_SCREENSONG_BUTTON_OPEN_SELECTED_ITEM">Kiválaszt</string> <string name="TR_SCREENSONG_BUTTON_OPEN_SELECTED_ITEM">Kiválaszt</string>
<string name="TR_SCREENSONG_BUTTON_RANDOMMEDLEY">Véletlenszerű Dalrészlet Éneklése</string> <string name="TR_SCREENSONG_BUTTON_RANDOMMEDLEY">Véletlenszerű Dalrészlet Éneklése</string>
<string name="TR_SCREENSONG_BUTTON_STARTMEDLEY">Dalrészletek Éneklése</string> <string name="TR_SCREENSONG_BUTTON_STARTMEDLEY">Dalrészletek Éneklése</string>
<string name="TR_SCREENSONG_NEWPLAYLIST">Új Lista</string> <string name="TR_SCREENSONG_NEWPLAYLIST">Új lejátszási lista</string>
<string name="TR_SCREENSONG_SONGOPTIONS">Dalbeállítások</string> <string name="TR_SCREENSONG_SONGOPTIONS">Dalbeállítások</string>
<string name="TR_SCREENSONG_SEARCH">Keresés:</string> <string name="TR_SCREENSONG_SEARCH">Keresés:</string>
<string name="TR_SCREENSONG_NOLANGUAGE">Nincs Nyelv</string> <string name="TR_SCREENSONG_NOLANGUAGE">Nincs nyelv</string>
<string name="TR_SCREENSONG_NOYEAR">Nincs Év</string> <string name="TR_SCREENSONG_NOYEAR">Nincs Év</string>
<string name="TR_SCREENSONG_NOGENRE">Nincs Műfaj</string> <string name="TR_SCREENSONG_NOGENRE">Nincs Műfaj</string>
<string name="TR_SCREENSONG_NOEDITION">Nincs Kiadás</string> <string name="TR_SCREENSONG_NOEDITION">Nincs Kiadás</string>
<string name="TR_SCREENSONG_ALLSONGS">Minden Dal</string> <string name="TR_SCREENSONG_ALLSONGS">Minden Dal</string>
<string name="TR_SCREENSONG_NUMSONGS">(%v Dal)</string> <string name="TR_SCREENSONG_NUMSONGS">(%v dal)</string>
<string name="TR_SCREENSONG_NUMSONG">(%v Dal)</string> <string name="TR_SCREENSONG_NUMSONG">(%v dal)</string>
<string name="TR_SCREENSONG_ARTIST_TITLE">%a - %t</string> <string name="TR_SCREENSONG_ARTIST_TITLE">%a - %t</string>
<string name="TR_SCREENSING_PAUSE">Szünet</string> <string name="TR_SCREENSING_PAUSE">Szünet</string>
<string name="TR_SCREENSING_BUTTON_CANCEL">Befejezés</string> <string name="TR_SCREENSING_BUTTON_CANCEL">Befejezés</string>
@@ -149,18 +156,18 @@
<string name="TR_SCREENSCORE_OVERALLSCORE">Összpontszám</string> <string name="TR_SCREENSCORE_OVERALLSCORE">Összpontszám</string>
<string name="TR_SCREENHIGHSCORE_HIGHSCORE">Eredménylista</string> <string name="TR_SCREENHIGHSCORE_HIGHSCORE">Eredménylista</string>
<string name="TR_SCREENPROFILES_PROFILES">Profilok</string> <string name="TR_SCREENPROFILES_PROFILES">Profilok</string>
<string name="TR_SCREENPROFILES_PLAYERNAME">Játékos Neve</string> <string name="TR_SCREENPROFILES_PLAYERNAME">Játékos neve</string>
<string name="TR_SCREENPROFILES_GAMEDIFFICULTY">Nehézségi Szint</string> <string name="TR_SCREENPROFILES_GAMEDIFFICULTY">Nehézségi szint</string>
<string name="TR_SCREENPROFILES_AVATAR">Profilkép</string> <string name="TR_SCREENPROFILES_AVATAR">Profilkép</string>
<string name="TR_SCREENPROFILES_USERROLE">Szerepkor</string> <string name="TR_SCREENPROFILES_USERROLE">Szerepkör</string>
<string name="TR_SCREENPROFILES_ACTIVE">Jelenlegi</string> <string name="TR_SCREENPROFILES_ACTIVE">Jelenlegi</string>
<string name="TR_SCREENPROFILES_BUTTON_NEW">Új</string> <string name="TR_SCREENPROFILES_BUTTON_NEW">Új</string>
<string name="TR_SCREENPROFILES_BUTTON_DELETE">Törlés</string> <string name="TR_SCREENPROFILES_BUTTON_DELETE">Törlés</string>
<string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Pillanatkép Készítése</string> <string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Pillanatkép készítése</string>
<string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Pillanatkép Mentése</string> <string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Pillanatkép mentése</string>
<string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Pillanatkép Törlése</string> <string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Pillanatkép törlése</string>
<string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webkamera</string> <string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webkamera</string>
<string name="TR_SCREENO_OPTIONS">Menü Beállítások</string> <string name="TR_SCREENO_OPTIONS">Beállítások</string>
<string name="TR_SCREENO_BUTTON_GAME">Játék</string> <string name="TR_SCREENO_BUTTON_GAME">Játék</string>
<string name="TR_SCREENO_BUTTON_SOUND">Hang</string> <string name="TR_SCREENO_BUTTON_SOUND">Hang</string>
<string name="TR_SCREENO_BUTTON_RECORD">Mikrofon</string> <string name="TR_SCREENO_BUTTON_RECORD">Mikrofon</string>
@@ -170,44 +177,51 @@
<string name="TR_SCREENOGAME_BUTTON_SERVER">Szerver címe</string> <string name="TR_SCREENOGAME_BUTTON_SERVER">Szerver címe</string>
<string name="TR_SCREENOGAME_OPTIONS">Játék Beállítások</string> <string name="TR_SCREENOGAME_OPTIONS">Játék Beállítások</string>
<string name="TR_SCREENOGAME_LANGUAGE">Nyelv</string> <string name="TR_SCREENOGAME_LANGUAGE">Nyelv</string>
<string name="TR_SCREENOGAME_DEBUGLEVEL">Debug Level</string> <string name="TR_SCREENOGAME_DEBUGLEVEL">Hibakeresési mód</string>
<string name="TR_SCREENOGAME_SONGMENU">Dal Menü</string> <string name="TR_SCREENOGAME_SONGMENU">Dalválasztó stílusa</string>
<string name="TR_SCREENOGAME_SONGSORTING">Dalok Rendezése</string> <string name="TR_SCREENOGAME_SONGSORTING">Dalok rendezése</string>
<string name="TR_SCREENOGAME_TABS">Rendezés</string> <string name="TR_SCREENOGAME_TABS">Rendezés</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Játék Nehézsége</string> <string name="TR_SCREENOGAME_DIFFICULTY">Nehézségi szint</string>
<string name="TR_SCREENOGAME_TIMERMODE">Idő Mutatás</string> <string name="TR_SCREENOGAME_TIMERMODE">Idő mutatása</string>
<string name="TR_SCREENORECORD_OPTIONS">Mikrofon Beállítások</string> <string name="TR_SCREENORECORD_OPTIONS">Mikrofon Beállítások</string>
<string name="TR_SCREENORECORD_DEVICE">Eszköz</string> <string name="TR_SCREENORECORD_DEVICE">Eszköz</string>
<string name="TR_SCREENORECORD_INPUT">Bemenet</string> <string name="TR_SCREENORECORD_INPUT">Bemenet</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Mikrofon Késleltetés</string> <string name="TR_SCREENORECORD_PLAYER_1">1. játékos</string>
<string name="TR_SCREENORECORD_PLAYER_2">2. játékos</string>
<string name="TR_SCREENORECORD_PLAYER_3">3. játékos</string>
<string name="TR_SCREENORECORD_PLAYER_4">4. játékos</string>
<string name="TR_SCREENORECORD_PLAYER_5">5. játékos</string>
<string name="TR_SCREENORECORD_PLAYER_6">6. játékos</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Mikrofon késleltetés</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Figyelem: Egy játékos két mikrofont használ.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Figyelem: Egy játékos két mikrofont használ.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Késleltetés Tesztelése</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Késleltetés tesztelése</string>
<string name="TR_SCREENOSOUND_OPTIONS">Hang Beállítások</string> <string name="TR_SCREENOSOUND_OPTIONS">Hang Beállítások</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Háttérzene</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Háttérzene</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Háttérzene Hangereje</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Háttérzene hangereje</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Háttérzene Forrása</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Háttérzene forrása</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Előnézeti Zene Hangereje</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Előlnézeti zene hangereje</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Zene Hangereje</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Játékbeli zene hangereje</string>
<string name="TR_SCREENOTHEME_OPTIONS">Téma Beállítások</string> <string name="TR_SCREENOTHEME_OPTIONS">Téma Beállítások</string>
<string name="TR_SCREENOTHEME_THEME">Téma</string> <string name="TR_SCREENOTHEME_THEME">Téma</string>
<string name="TR_SCREENOTHEME_SKIN">Kinézet</string> <string name="TR_SCREENOTHEME_SKIN">Kinézet</string>
<string name="TR_SCREENOTHEME_COVERTHEME">Borító Téma</string> <string name="TR_SCREENOTHEME_COVERTHEME">Borító téma</string>
<string name="TR_SCREENOTHEME_NOTELINES">Kotta Mutatása</string> <string name="TR_SCREENOTHEME_NOTELINES">Kottavonalak mutatása</string>
<string name="TR_SCREENOTHEME_TONEHELPER">Hangmagasság Segítő Mutatása</string> <string name="TR_SCREENOTHEME_TONEHELPER">Hangmagasság-segítő mutatása</string>
<string name="TR_SCREENOTHEME_TIMERLOOK">Idősáv Nézete</string> <string name="TR_SCREENOTHEME_TIMERLOOK">Idősáv</string>
<string name="TR_SCREENOTHEME_FADEINFO">Játékos Infó Halványan</string> <string name="TR_SCREENOTHEME_FADEINFO">Játékos infó halványítása</string>
<string name="TR_SCREENOTHEME_COVERLOADING">Borító Betöltés</string> <string name="TR_SCREENOTHEME_COVERLOADING">Borító betöltés</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Dalszöveg Beállítások</string> <string name="TR_SCREENOLYRICS_OPTIONS">Dalszöveg Beállítások</string>
<string name="TR_SCREENOLYRICS_STYLE">Stílus</string> <string name="TR_SCREENOLYRICS_STYLE">Animációs stílus</string>
<string name="TR_SCREENOLYRICS_POSITION">Dalszöveg helyzete</string> <string name="TR_SCREENOLYRICS_POSITION">Dalszöveg helyzete</string>
<string name="TR_SCREENOVIDEO_OPTIONS">Képi Beállítások</string> <string name="TR_SCREENOVIDEO_OPTIONS">Képi Beállítások</string>
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Animált Háttér</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Videóháttér</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Videó Előnézet</string> <string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Videó előnézet</string>
<string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videó Éneklés Közben</string> <string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videó Éneklés Közben</string>
<string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Jelenlegi Háttérzene Videó Mutatása</string> <string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Jelenlegi háttérzene videójának mutatása</string>
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webkamerák</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webkamerák</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webkamera-felbontás</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Webkamera felbontása</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Képernyő pozicionálás</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Képernyő pozícionálás</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Pozícionálás: CTRL + ALT (+SHIFT) + Nyilak</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Visszaállítás: CTRL + ALT + 0</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">Visszaállítás: CTRL + ALT + 0</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Bal felső</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Bal felső</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Jobb felső</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Jobb felső</string>
+19 -7
View File
@@ -46,12 +46,12 @@
<string name="TR_CONFIG_LEVEL2">Livello 2</string> <string name="TR_CONFIG_LEVEL2">Livello 2</string>
<string name="TR_CONFIG_LEVEL3">Livello 3</string> <string name="TR_CONFIG_LEVEL3">Livello 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Max</string> <string name="TR_CONFIG_LEVEL_MAX">Max</string>
<string name="TR_CONFIG_LIST">Lista canzoni</string> <string name="TR_CONFIG_LIST">Elenco</string>
<string name="TR_CONFIG_DREIDEL">Dreidel</string> <string name="TR_CONFIG_DREIDEL">Dreidel</string>
<string name="TR_CONFIG_TILE_BOARD">Scacchiera</string> <string name="TR_CONFIG_TILE_BOARD">Scacchiera</string>
<string name="TR_CONFIG_BOOK">Libro</string> <string name="TR_CONFIG_BOOK">Libro</string>
<string name="TR_CONFIG_COVERLOADING_ONDEMAND">Su richiesta</string> <string name="TR_CONFIG_COVERLOADING_ONDEMAND">Su richiesta</string>
<string name="TR_CONFIG_COVERLOADING_ATSTART">All\'avvio</string> <string name="TR_CONFIG_COVERLOADING_ATSTART">All'avvio</string>
<string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinamico</string> <string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinamico</string>
<string name="TR_CONFIG_NONE">Nessuno</string> <string name="TR_CONFIG_NONE">Nessuno</string>
<string name="TR_CONFIG_RANDOM">Casuale</string> <string name="TR_CONFIG_RANDOM">Casuale</string>
@@ -73,6 +73,8 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Totale</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Totale</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normale</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normale</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Espanso</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Espanso</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_ALL">Elenco tutti</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_BEST">Elenco migliori</string>
<string name="TR_CONFIG_OWN_MUSIC">Musica personale e musica di sfondo</string> <string name="TR_CONFIG_OWN_MUSIC">Musica personale e musica di sfondo</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Nessuna musica personale</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Nessuna musica personale</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Solo musica personale</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Solo musica personale</string>
@@ -80,6 +82,9 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Tutto</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Tutto</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Solo nomi e avatar</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Solo nomi e avatar</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Niente</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Niente</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Riempi</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Salta</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Zoom</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Sotto</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Sotto</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Sopra</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">Sopra</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Sopra e sotto</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">Sopra e sotto</string>
@@ -114,10 +119,10 @@
<string name="TR_SCREENNAMES_4PLAYER">4 giocatori</string> <string name="TR_SCREENNAMES_4PLAYER">4 giocatori</string>
<string name="TR_SCREENNAMES_5PLAYER">5 giocatori</string> <string name="TR_SCREENNAMES_5PLAYER">5 giocatori</string>
<string name="TR_SCREENNAMES_6PLAYER">6 giocatori</string> <string name="TR_SCREENNAMES_6PLAYER">6 giocatori</string>
<string name="TR_SCREENNAMES_WARNING_MICS_SG">Attenzione: Non c\'è nessun microfono assegnato al giocatore %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_SG">Attenzione: Non c'è nessun microfono assegnato al giocatore %v!</string>
<string name="TR_SCREENNAMES_WARNING_MICS_PL">Attenzione: Non c\'è nessun microfono assegnato ai giocatori %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_PL">Attenzione: Non c'è nessun microfono assegnato ai giocatori %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Attenzione: Non c\'è nessun profilo assegnato al giocatore %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Attenzione: Non c'è nessun profilo assegnato al giocatore %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Attenzione: Non c\'è nessun profilo assegnato ai giocatori %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Attenzione: Non c'è nessun profilo assegnato ai giocatori %v!</string>
<string name="TR_SCREENSONG_MENU">Selezione canzone</string> <string name="TR_SCREENSONG_MENU">Selezione canzone</string>
<string name="TR_SCREENSONG_BUTTON_SING">Canta</string> <string name="TR_SCREENSONG_BUTTON_SING">Canta</string>
<string name="TR_SCREENSONG_BUTTON_PLAYLIST">Aggiungi alla playlist</string> <string name="TR_SCREENSONG_BUTTON_PLAYLIST">Aggiungi alla playlist</string>
@@ -182,6 +187,12 @@
<string name="TR_SCREENORECORD_OPTIONS">Opzioni registrazione</string> <string name="TR_SCREENORECORD_OPTIONS">Opzioni registrazione</string>
<string name="TR_SCREENORECORD_DEVICE">Dispositivo</string> <string name="TR_SCREENORECORD_DEVICE">Dispositivo</string>
<string name="TR_SCREENORECORD_INPUT">Input</string> <string name="TR_SCREENORECORD_INPUT">Input</string>
<string name="TR_SCREENORECORD_PLAYER_1">Giocatore 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Giocatore 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Giocatore 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Giocatore 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Giocatore 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Giocatore 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Ritardo microfono</string> <string name="TR_SCREENORECORD_MIC_DELAY">Ritardo microfono</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Attenzione: Ad un giocatore sono assegnati due microfoni.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Attenzione: Ad un giocatore sono assegnati due microfoni.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Test ritardo</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Test ritardo</string>
@@ -191,6 +202,7 @@
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Sorgente musica di sfondo</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Sorgente musica di sfondo</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Anteprima volume musica</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Anteprima volume musica</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volume musica di gioco</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volume musica di gioco</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Effetto karaoke</string>
<string name="TR_SCREENOTHEME_OPTIONS">Opzioni tema</string> <string name="TR_SCREENOTHEME_OPTIONS">Opzioni tema</string>
<string name="TR_SCREENOTHEME_THEME">Tema</string> <string name="TR_SCREENOTHEME_THEME">Tema</string>
<string name="TR_SCREENOTHEME_SKIN">Skin</string> <string name="TR_SCREENOTHEME_SKIN">Skin</string>
@@ -211,7 +223,7 @@
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcam</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Webcam</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Risoluzione-Webcam</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Risoluzione-Webcam</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Sistemazione schermo</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Sistemazione schermo</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Premi CTR + ALT (+ SHIFT) + Freccia|\"+\" per sistemare lo schermo</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Premi CTR + ALT (+ SHIFT) + Freccia|"+ per sistemare lo schermo</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTR + ALT + 0 per ripristinare</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTR + ALT + 0 per ripristinare</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Sopra a sinistra</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Sopra a sinistra</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Sopra a destra</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Sopra a destra</string>
+20 -16
View File
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<resources> <resources>
<string name="language">Português</string> <string name="language">Inglês</string>
<string name="TR_PROGRAM_NAME">Vocaluxe</string> <string name="TR_PROGRAM_NAME">Vocaluxe</string>
<string name="TR_GENERAL_AND">e</string> <string name="TR_GENERAL_AND">e</string>
<string name="TR_BUTTON_EXIT">Sair</string> <string name="TR_BUTTON_EXIT">Sair</string>
@@ -11,7 +11,7 @@
<string name="TR_DEBUG_VIDEO_STREAMS">Stream de Video</string> <string name="TR_DEBUG_VIDEO_STREAMS">Stream de Video</string>
<string name="TR_DEBUG_TEXTURES">Texturas</string> <string name="TR_DEBUG_TEXTURES">Texturas</string>
<string name="TR_DEBUG_TONE_ABS">Abdominais </string> <string name="TR_DEBUG_TONE_ABS">Abdominais </string>
<string name="TR_DEBUG_MAX_VOLUME">Volume Máximo </string> <string name="TR_DEBUG_MAX_VOLUME">Volume Máximo</string>
<string name="TR_DEBUG_SONGS">Músicas carregadas</string> <string name="TR_DEBUG_SONGS">Músicas carregadas</string>
<string name="TR_DEBUG_MOUSE">Rato</string> <string name="TR_DEBUG_MOUSE">Rato</string>
<string name="TR_DEBUG_MEMORY">Utilização da Memória</string> <string name="TR_DEBUG_MEMORY">Utilização da Memória</string>
@@ -48,17 +48,17 @@
<string name="TR_CONFIG_LEVEL_MAX">Máximo</string> <string name="TR_CONFIG_LEVEL_MAX">Máximo</string>
<string name="TR_CONFIG_LIST">Lista</string> <string name="TR_CONFIG_LIST">Lista</string>
<string name="TR_CONFIG_DREIDEL">Contra-Relógio </string> <string name="TR_CONFIG_DREIDEL">Contra-Relógio </string>
<string name="TR_CONFIG_TILE_BOARD">Painel de Titulo </string> <string name="TR_CONFIG_TILE_BOARD">Painel de Titulo</string>
<string name="TR_CONFIG_BOOK">Livro</string> <string name="TR_CONFIG_BOOK">Livro</string>
<string name="TR_CONFIG_COVERLOADING_ONDEMAND">A pedido</string> <string name="TR_CONFIG_COVERLOADING_ONDEMAND">A pedido</string>
<string name="TR_CONFIG_COVERLOADING_ATSTART">No início </string> <string name="TR_CONFIG_COVERLOADING_ATSTART">No início</string>
<string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinâmico</string> <string name="TR_CONFIG_COVERLOADING_DYNAMIC">Dinâmico</string>
<string name="TR_CONFIG_NONE">Nenhum</string> <string name="TR_CONFIG_NONE">Nenhum</string>
<string name="TR_CONFIG_RANDOM">Aleatório</string> <string name="TR_CONFIG_RANDOM">Aleatório</string>
<string name="TR_CONFIG_FOLDER">Pasta</string> <string name="TR_CONFIG_FOLDER">Pasta</string>
<string name="TR_CONFIG_ARTIST">Artista</string> <string name="TR_CONFIG_ARTIST">Artista</string>
<string name="TR_CONFIG_ARTIST_LETTER">Letra do Artista</string> <string name="TR_CONFIG_ARTIST_LETTER">Letra do Artista</string>
<string name="TR_CONFIG_TITLE_LETTER">Letras do Titulo </string> <string name="TR_CONFIG_TITLE_LETTER">Letras do Titulo</string>
<string name="TR_CONFIG_EDITION">Edição</string> <string name="TR_CONFIG_EDITION">Edição</string>
<string name="TR_CONFIG_GENRE">Género</string> <string name="TR_CONFIG_GENRE">Género</string>
<string name="TR_CONFIG_YEAR">Ano</string> <string name="TR_CONFIG_YEAR">Ano</string>
@@ -74,8 +74,8 @@
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Expandida</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Expandida</string>
<string name="TR_CONFIG_OWN_MUSIC">Apenas musica e musica de fundo</string> <string name="TR_CONFIG_OWN_MUSIC">Apenas musica e musica de fundo</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Não utilizar música própria </string> <string name="TR_CONFIG_NO_OWN_MUSIC">Não utilizar música própria</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Apenas música própria </string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Apenas música própria</string>
<string name="TR_CONFIG_ONLY_SONG">Apenas a musica seleccionada</string> <string name="TR_CONFIG_ONLY_SONG">Apenas a musica seleccionada</string>
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Todas</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Todas</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Apenas nomes e avatares</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Apenas nomes e avatares</string>
@@ -133,7 +133,7 @@
<string name="TR_SCREENSONG_NEWPLAYLIST">Nova Lista de Reprodução</string> <string name="TR_SCREENSONG_NEWPLAYLIST">Nova Lista de Reprodução</string>
<string name="TR_SCREENSONG_SONGOPTIONS">Opções da Música</string> <string name="TR_SCREENSONG_SONGOPTIONS">Opções da Música</string>
<string name="TR_SCREENSONG_SEARCH">Procura:</string> <string name="TR_SCREENSONG_SEARCH">Procura:</string>
<string name="TR_SCREENSONG_NOLANGUAGE">Sem Lingua </string> <string name="TR_SCREENSONG_NOLANGUAGE">Sem Lingua</string>
<string name="TR_SCREENSONG_NOYEAR">Sem Ano</string> <string name="TR_SCREENSONG_NOYEAR">Sem Ano</string>
<string name="TR_SCREENSONG_NOGENRE">Sem Género </string> <string name="TR_SCREENSONG_NOGENRE">Sem Género </string>
<string name="TR_SCREENSONG_NOEDITION">Sem Edição </string> <string name="TR_SCREENSONG_NOEDITION">Sem Edição </string>
@@ -159,11 +159,11 @@
<string name="TR_SCREENPROFILES_ACTIVE">Activa</string> <string name="TR_SCREENPROFILES_ACTIVE">Activa</string>
<string name="TR_SCREENPROFILES_BUTTON_NEW">Nova</string> <string name="TR_SCREENPROFILES_BUTTON_NEW">Nova</string>
<string name="TR_SCREENPROFILES_BUTTON_DELETE">Eliminar</string> <string name="TR_SCREENPROFILES_BUTTON_DELETE">Eliminar</string>
<string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Tirar Fotografia </string> <string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Tirar Fotografia</string>
<string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Gravar Fotografia</string> <string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Gravar Fotografia</string>
<string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Eliminar Fotografia</string> <string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Eliminar Fotografia</string>
<string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Câmara Web </string> <string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Câmara Web </string>
<string name="TR_SCREENO_OPTIONS">Opções do Menu </string> <string name="TR_SCREENO_OPTIONS">Opções do Menu</string>
<string name="TR_SCREENO_BUTTON_GAME">Jogo</string> <string name="TR_SCREENO_BUTTON_GAME">Jogo</string>
<string name="TR_SCREENO_BUTTON_SOUND">Som </string> <string name="TR_SCREENO_BUTTON_SOUND">Som </string>
<string name="TR_SCREENO_BUTTON_RECORD">Gravar</string> <string name="TR_SCREENO_BUTTON_RECORD">Gravar</string>
@@ -175,20 +175,24 @@
<string name="TR_SCREENOGAME_LANGUAGE">Língua</string> <string name="TR_SCREENOGAME_LANGUAGE">Língua</string>
<string name="TR_SCREENOGAME_DEBUGLEVEL">Nível de Debug</string> <string name="TR_SCREENOGAME_DEBUGLEVEL">Nível de Debug</string>
<string name="TR_SCREENOGAME_SONGMENU">Menu das Músicas</string> <string name="TR_SCREENOGAME_SONGMENU">Menu das Músicas</string>
<string name="TR_SCREENOGAME_SONGSORTING">Ordenação das Musicas </string> <string name="TR_SCREENOGAME_SONGSORTING">Ordenação das Musicas</string>
<string name="TR_SCREENOGAME_TABS">Separadores </string> <string name="TR_SCREENOGAME_TABS">Separadores </string>
<string name="TR_SCREENOGAME_DIFFICULTY">Dificildade do Jogo</string> <string name="TR_SCREENOGAME_DIFFICULTY">Dificildade do Jogo</string>
<string name="TR_SCREENOGAME_TIMERMODE">Modo Temporizado</string> <string name="TR_SCREENOGAME_TIMERMODE">Modo Temporizado</string>
<string name="TR_SCREENORECORD_OPTIONS">Opções de Gravação</string> <string name="TR_SCREENORECORD_OPTIONS">Opções de Gravação</string>
<string name="TR_SCREENORECORD_DEVICE">Dispositivo </string> <string name="TR_SCREENORECORD_DEVICE">Dispositivo </string>
<string name="TR_SCREENORECORD_INPUT">Entrada</string> <string name="TR_SCREENORECORD_INPUT">Entrada</string>
<string name="TR_SCREENORECORD_CHANNEL_1">Canal 1</string> <string name="TR_SCREENORECORD_PLAYER_1">Jogador 1</string>
<string name="TR_SCREENORECORD_CHANNEL_2">Canal 2</string> <string name="TR_SCREENORECORD_PLAYER_2">Jogador 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Jogador 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Jogador 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Jogador 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Jogador 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Latência do Microfone</string> <string name="TR_SCREENORECORD_MIC_DELAY">Latência do Microfone</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Atenção: Pelo menos um jogador tem dois microfones atribuídos </string> <string name="TR_SCREENORECORD_MIC_WARNING">Atenção: Pelo menos um jogador tem dois microfones atribuídos </string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Teste de Latência</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Teste de Latência</string>
<string name="TR_SCREENOSOUND_OPTIONS">Opções de Som</string> <string name="TR_SCREENOSOUND_OPTIONS">Opções de Som</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Música de Fundo </string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSIC">Música de Fundo</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Volume da Música de Fundo</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME">Volume da Música de Fundo</string>
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Origem da Música de Fundo</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Origem da Música de Fundo</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Prévisualizar Volume da Música</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Prévisualizar Volume da Música</string>
@@ -200,7 +204,7 @@
<string name="TR_SCREENOTHEME_NOTELINES">Mostrar Linhas das Notas</string> <string name="TR_SCREENOTHEME_NOTELINES">Mostrar Linhas das Notas</string>
<string name="TR_SCREENOTHEME_TONEHELPER">Mostrar Ajuda de Afinação</string> <string name="TR_SCREENOTHEME_TONEHELPER">Mostrar Ajuda de Afinação</string>
<string name="TR_SCREENOTHEME_TIMERLOOK">Aspecto do Cronómetro</string> <string name="TR_SCREENOTHEME_TIMERLOOK">Aspecto do Cronómetro</string>
<string name="TR_SCREENOTHEME_FADEINFO">Desvanecer informação do jogado </string> <string name="TR_SCREENOTHEME_FADEINFO">Desvanecer informação do jogado</string>
<string name="TR_SCREENOTHEME_COVERLOADING">Comportamento do Carregamento das Capas</string> <string name="TR_SCREENOTHEME_COVERLOADING">Comportamento do Carregamento das Capas</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Opções das Letras das Músicas</string> <string name="TR_SCREENOLYRICS_OPTIONS">Opções das Letras das Músicas</string>
<string name="TR_SCREENOLYRICS_STYLE">Estilo</string> <string name="TR_SCREENOLYRICS_STYLE">Estilo</string>
@@ -213,7 +217,7 @@
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Camaras Web</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Camaras Web</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Resolução da Câmara Web</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Resolução da Câmara Web</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustes do Ecrã </string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustes do Ecrã </string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Prima CTR + ALT (+ SHIFT) + Setas|\"+\" para ajustar o ecrã</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Prima CTR + ALT (+ SHIFT) + Setas|"+" para ajustar o ecrã</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTR + ALT + 0 para reiniciar</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTR + ALT + 0 para reiniciar</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Superior Esquerdo</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Superior Esquerdo</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Superior Direito</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Superior Direito</string>
+47 -32
View File
@@ -46,6 +46,7 @@
<string name="TR_CONFIG_LEVEL2">Nivel 2</string> <string name="TR_CONFIG_LEVEL2">Nivel 2</string>
<string name="TR_CONFIG_LEVEL3">Nivel 3</string> <string name="TR_CONFIG_LEVEL3">Nivel 3</string>
<string name="TR_CONFIG_LEVEL_MAX">Máx</string> <string name="TR_CONFIG_LEVEL_MAX">Máx</string>
<string name="TR_CONFIG_LIST">Listado</string>
<string name="TR_CONFIG_DREIDEL">Dreidel</string> <string name="TR_CONFIG_DREIDEL">Dreidel</string>
<string name="TR_CONFIG_TILE_BOARD">Cuadrícula</string> <string name="TR_CONFIG_TILE_BOARD">Cuadrícula</string>
<string name="TR_CONFIG_BOOK">Libro</string> <string name="TR_CONFIG_BOOK">Libro</string>
@@ -72,6 +73,8 @@
<string name="TR_CONFIG_TIMERMODE_TOTAL">Total</string> <string name="TR_CONFIG_TIMERMODE_TOTAL">Total</string>
<string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string> <string name="TR_CONFIG_TIMERLOOK_NORMAL">Normal</string>
<string name="TR_CONFIG_TIMERLOOK_EXPANDED">Expandido</string> <string name="TR_CONFIG_TIMERLOOK_EXPANDED">Expandido</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_ALL">Ver todo</string>
<string name="TR_CONFIG_HIGHSCORE_LIST_BEST">Mejores puntuaciones</string>
<string name="TR_CONFIG_OWN_MUSIC">Canciones del juego y tema Vocaluxe</string> <string name="TR_CONFIG_OWN_MUSIC">Canciones del juego y tema Vocaluxe</string>
<string name="TR_CONFIG_NO_OWN_MUSIC">Sin canciones del juego</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Sin canciones del juego</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Solo canciones del juego</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Solo canciones del juego</string>
@@ -79,6 +82,10 @@
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Todas</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Todas</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Solo nombres y avatares</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Solo nombres y avatares</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nada</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Nada</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Rellenar</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Saltar</string>
<string name="TR_CONFIG_LYRICSTYLE_SLIDE">Deslizar</string>
<string name="TR_CONFIG_LYRICSTYLE_ZOOM">Zoom</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Abajo</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTTOM">Abajo</string>
<string name="TR_CONFIG_LYRICSPOSITION_TOP">Arriba</string> <string name="TR_CONFIG_LYRICSPOSITION_TOP">Arriba</string>
<string name="TR_CONFIG_LYRICSPOSITION_BOTH">Arriba y abajo</string> <string name="TR_CONFIG_LYRICSPOSITION_BOTH">Arriba y abajo</string>
@@ -89,48 +96,48 @@
<string name="TR_SCREENLOAD_LOADED">cargadas</string> <string name="TR_SCREENLOAD_LOADED">cargadas</string>
<string name="TR_SCREENMAIN_MENU">Menú Principal</string> <string name="TR_SCREENMAIN_MENU">Menú Principal</string>
<string name="TR_SCREENMAIN_BUTTON_SING">Cantar</string> <string name="TR_SCREENMAIN_BUTTON_SING">Cantar</string>
<string name="TR_SCREENMAIN_BUTTON_PARTY">TODO: Party</string> <string name="TR_SCREENMAIN_BUTTON_PARTY">Fiesta</string>
<string name="TR_SCREENMAIN_BUTTON_OPTIONS">Opciones</string> <string name="TR_SCREENMAIN_BUTTON_OPTIONS">Opciones</string>
<string name="TR_SCREENMAIN_BUTTON_PROFILES">Perfiles</string> <string name="TR_SCREENMAIN_BUTTON_PROFILES">Perfiles</string>
<string name="TR_SCREENMAIN_TEXT_NOPROFILES">¡No se encuentra perfil!</string> <string name="TR_SCREENMAIN_TEXT_NOPROFILES">¡No se encuentra perfil!</string>
<string name="TR_SCREENPARTY_TITLE">TODO: Party Mode Selection</string> <string name="TR_SCREENPARTY_TITLE">Selección del modo fiesta</string>
<string name="TR_SCREENPARTY_MODES">TODO: Party Mode</string> <string name="TR_SCREENPARTY_MODES">Modo fiesta</string>
<string name="TR_SCREENPARTY_DESCRIPTION">TODO: Description</string> <string name="TR_SCREENPARTY_DESCRIPTION">Descripción</string>
<string name="TR_SCREENPARTY_AUTHOR">TODO: Author</string> <string name="TR_SCREENPARTY_AUTHOR">Autor</string>
<string name="TR_SCREENPARTY_VERSION">TODO: Version</string> <string name="TR_SCREENPARTY_VERSION">Versión</string>
<string name="TR_SCREENPARTY_ERROR">TODO: Can\'t load this party-mode.</string> <string name="TR_SCREENPARTY_ERROR">No se puede cargar este modo de fiesta</string>
<string name="TR_SCREENPARTY_ERROR_MICS">¡No hay micrófonos configurados!</string> <string name="TR_SCREENPARTY_ERROR_MICS">¡No hay micrófonos configurados!</string>
<string name="TR_SCREENPARTY_ERROR_MIC_NUM">¡Se necesitan %d micrófonos para este modo fiesta!</string> <string name="TR_SCREENPARTY_ERROR_MIC_NUM">¡Se necesitan %d micrófonos para este modo fiesta!</string>
<string name="TR_SCREENPARTY_TARGETAUDIENCE">TODO: Target audience</string> <string name="TR_SCREENPARTY_TARGETAUDIENCE">Audiencia objetiva</string>
<string name="TR_SCREENPARTY_NOTEAMS">TODO: No Teams</string> <string name="TR_SCREENPARTY_NOTEAMS">No hay equipos</string>
<string name="TR_SCREENPARTY_NUMTEAMS">TODO: Number of teams</string> <string name="TR_SCREENPARTY_NUMTEAMS">Número de equipos</string>
<string name="TR_SCREENPARTY_NUMPLAYERS">TODO: Number of players</string> <string name="TR_SCREENPARTY_NUMPLAYERS">Número de jugadores</string>
<string name="TR_SCREENNAMES_MENU">Selección de Jugadores</string> <string name="TR_SCREENNAMES_MENU">Selección de Jugadores</string>
<string name="TR_SCREENNAMES_PLAYER">Jugador</string> <string name="TR_SCREENNAMES_PLAYER">Jugador</string>
<string name="TR_SCREENNAMES_1PLAYER">Jugador 1</string> <string name="TR_SCREENNAMES_1PLAYER">1 Jugador</string>
<string name="TR_SCREENNAMES_2PLAYER">Jugador 2</string> <string name="TR_SCREENNAMES_2PLAYER">2 Jugadores</string>
<string name="TR_SCREENNAMES_3PLAYER">Jugador 3</string> <string name="TR_SCREENNAMES_3PLAYER">3 Jugadores</string>
<string name="TR_SCREENNAMES_4PLAYER">Jugador 4</string> <string name="TR_SCREENNAMES_4PLAYER">4 Jugadores</string>
<string name="TR_SCREENNAMES_5PLAYER">Jugador 5</string> <string name="TR_SCREENNAMES_5PLAYER">5 Jugadores</string>
<string name="TR_SCREENNAMES_6PLAYER">Jugador 6</string> <string name="TR_SCREENNAMES_6PLAYER">6 Jugadores</string>
<string name="TR_SCREENNAMES_WARNING_MICS_SG">Advertencia: ¡No hay micrófonos asignados al jugador %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_SG">Advertencia: ¡No hay micrófonos asignados al jugador %v!</string>
<string name="TR_SCREENNAMES_WARNING_MICS_PL">Advertencia: ¡No hay micrófonos asignados a los jugadores %v!</string> <string name="TR_SCREENNAMES_WARNING_MICS_PL">Advertencia: ¡No hay micrófonos asignados a los jugadores %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Advertencia: ¡No hay perfil asignados al jugador %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_SG">Advertencia: ¡No hay perfil asignados al jugador %v!</string>
<string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Advertencia: ¡No hay perfiles asignados a los jugadores %v!</string> <string name="TR_SCREENNAMES_WARNING_PROFILES_PL">Advertencia: ¡No hay perfiles asignados a los jugadores %v!</string>
<string name="TR_SCREENSONG_MENU">Selección de Canciones</string> <string name="TR_SCREENSONG_MENU">Selección de Canciones</string>
<string name="TR_SCREENSONG_BUTTON_SING">TODO: Sing</string> <string name="TR_SCREENSONG_BUTTON_SING">Cantar</string>
<string name="TR_SCREENSONG_BUTTON_PLAYLIST">TODO: Add to playlist</string> <string name="TR_SCREENSONG_BUTTON_PLAYLIST">Añadir a lista de reproducción</string>
<string name="TR_SCREENSONG_BUTTON_CANCEL">TODO: Close</string> <string name="TR_SCREENSONG_BUTTON_CANCEL">Cerrar</string>
<string name="TR_SCREENSONG_BUTTON_RANDOM">TODO: Select a random song</string> <string name="TR_SCREENSONG_BUTTON_RANDOM">Seleccionar una canción aleatoriamente</string>
<string name="TR_SCREENSONG_BUTTON_RANDOMCAT">TODO: Select a random category</string> <string name="TR_SCREENSONG_BUTTON_RANDOMCAT">Seleccionar una categoria aleatoriamente</string>
<string name="TR_SCREENSONG_BUTTON_SINGALL">TODO: Sing all songs</string> <string name="TR_SCREENSONG_BUTTON_SINGALL">Cantar todas las canciones</string>
<string name="TR_SCREENSONG_BUTTON_SINGALLVISIBLE">TODO: Sing all visible songs</string> <string name="TR_SCREENSONG_BUTTON_SINGALLVISIBLE">Cantar todas las canciones visibles</string>
<string name="TR_SCREENSONG_BUTTON_OPENPLAYLIST">TODO: Open playlist</string> <string name="TR_SCREENSONG_BUTTON_OPENPLAYLIST">Abrir lista de reproducción</string>
<string name="TR_SCREENSONG_BUTTON_OPEN_SELECTED_ITEM">Seleccionar</string> <string name="TR_SCREENSONG_BUTTON_OPEN_SELECTED_ITEM">Seleccionar</string>
<string name="TR_SCREENSONG_BUTTON_RANDOMMEDLEY">TODO: Sing a random medley</string> <string name="TR_SCREENSONG_BUTTON_RANDOMMEDLEY">Cantar una versión corta de canción aleatoria</string>
<string name="TR_SCREENSONG_BUTTON_STARTMEDLEY">TODO: Sing medley-songs</string> <string name="TR_SCREENSONG_BUTTON_STARTMEDLEY">Cantar versión corta de canción</string>
<string name="TR_SCREENSONG_NEWPLAYLIST">TODO: New Playlist</string> <string name="TR_SCREENSONG_NEWPLAYLIST">Nueva lista de reproducción</string>
<string name="TR_SCREENSONG_SONGOPTIONS">TODO: Song Options</string> <string name="TR_SCREENSONG_SONGOPTIONS">Opciones de canción</string>
<string name="TR_SCREENSONG_SEARCH">Buscar:</string> <string name="TR_SCREENSONG_SEARCH">Buscar:</string>
<string name="TR_SCREENSONG_NOLANGUAGE">Sin Idioma</string> <string name="TR_SCREENSONG_NOLANGUAGE">Sin Idioma</string>
<string name="TR_SCREENSONG_NOYEAR">Sin Año</string> <string name="TR_SCREENSONG_NOYEAR">Sin Año</string>
@@ -178,9 +185,16 @@
<string name="TR_SCREENOGAME_TABS">Etiquetas</string> <string name="TR_SCREENOGAME_TABS">Etiquetas</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Dificultad del Juego</string> <string name="TR_SCREENOGAME_DIFFICULTY">Dificultad del Juego</string>
<string name="TR_SCREENOGAME_TIMERMODE">Modo del Timer</string> <string name="TR_SCREENOGAME_TIMERMODE">Modo del Timer</string>
<string name="TR_SCREENOGAME_HIGHSCORESTYLE">Estilo de puntuación máxima</string>
<string name="TR_SCREENORECORD_OPTIONS">Opciones de Grabación</string> <string name="TR_SCREENORECORD_OPTIONS">Opciones de Grabación</string>
<string name="TR_SCREENORECORD_DEVICE">Dispositivo</string> <string name="TR_SCREENORECORD_DEVICE">Dispositivo</string>
<string name="TR_SCREENORECORD_INPUT">Entrada</string> <string name="TR_SCREENORECORD_INPUT">Entrada</string>
<string name="TR_SCREENORECORD_PLAYER_1">Jugador 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Jugador 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Jugador 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Jugador 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Jugador 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Jugador 6</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Retraso del Micrófono</string> <string name="TR_SCREENORECORD_MIC_DELAY">Retraso del Micrófono</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Advertencia: Al menos un jugador ha sido asignado a dos micrófonos.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Advertencia: Al menos un jugador ha sido asignado a dos micrófonos.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Prueba de Retraso</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Prueba de Retraso</string>
@@ -190,13 +204,14 @@
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Origen de la Música de Fondo</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Origen de la Música de Fondo</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volumen de la música de la vista previa</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volumen de la música de la vista previa</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volumen de la música del juego</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volumen de la música del juego</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Efecto karaoke</string>
<string name="TR_SCREENOTHEME_OPTIONS">Opciones de Estilo</string> <string name="TR_SCREENOTHEME_OPTIONS">Opciones de Estilo</string>
<string name="TR_SCREENOTHEME_THEME">Estilo</string> <string name="TR_SCREENOTHEME_THEME">Estilo</string>
<string name="TR_SCREENOTHEME_SKIN">Skin</string> <string name="TR_SCREENOTHEME_SKIN">Skin</string>
<string name="TR_SCREENOTHEME_COVERTHEME">Estilo de Carátulas</string> <string name="TR_SCREENOTHEME_COVERTHEME">Estilo de Carátulas</string>
<string name="TR_SCREENOTHEME_NOTELINES">Mostrar Líneas de las Notas</string> <string name="TR_SCREENOTHEME_NOTELINES">Mostrar Líneas de las Notas</string>
<string name="TR_SCREENOTHEME_TONEHELPER">Mostrar Guía de Tonos</string> <string name="TR_SCREENOTHEME_TONEHELPER">Mostrar Guía de Tonos</string>
<string name="TR_SCREENOTHEME_TIMERLOOK">Aspecto del Timer</string> <string name="TR_SCREENOTHEME_TIMERLOOK">Aspecto del Time</string>
<string name="TR_SCREENOTHEME_FADEINFO">Desvanecer información del jugador</string> <string name="TR_SCREENOTHEME_FADEINFO">Desvanecer información del jugador</string>
<string name="TR_SCREENOTHEME_COVERLOADING">Comportamiento de la Carga de Carátulas</string> <string name="TR_SCREENOTHEME_COVERLOADING">Comportamiento de la Carga de Carátulas</string>
<string name="TR_SCREENOLYRICS_OPTIONS">Opciones de la letra</string> <string name="TR_SCREENOLYRICS_OPTIONS">Opciones de la letra</string>
@@ -208,9 +223,9 @@
<string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videos al Cantar</string> <string name="TR_SCREENOVIDEO_VIDEOINSONGS">Videos al Cantar</string>
<string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Mostrar el vídeo de fondo actual</string> <string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Mostrar el vídeo de fondo actual</string>
<string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Cámaras web</string> <string name="TR_SCREENOVIDEO_WEBCAMDEVICES">Cámaras web</string>
<string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Resolución cámara web</string> <string name="TR_SCREENOVIDEO_WEBCAMRESOLUTION">Cámaras web</string>
<string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustes de pantalla</string> <string name="TR_SCREENOVIDEO_BUTTON_ADJUSTMENTS">Ajustes de pantalla</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Presione CTRL + ALT (+ SHIFT) + Flechas|\"+\" para ajustar la pantalla</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTES">Presione CTRL + ALT (+ SHIFT) + Flechas|"+" para ajustar la pantalla</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTRL + ALT + SHIFT + 0 para reiniciar</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_NOTESRESET">CTRL + ALT + SHIFT + 0 para reiniciar</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Arriba izquierda</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPLEFT">Arriba izquierda</string>
<string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Abajo derecha</string> <string name="TR_SCREENOVIDEOADJUSTMENTS_TOPRIGHT">Abajo derecha</string>
+8 -7
View File
@@ -11,7 +11,7 @@
<string name="TR_DEBUG_VIDEO_STREAMS">Videoströmmar</string> <string name="TR_DEBUG_VIDEO_STREAMS">Videoströmmar</string>
<string name="TR_DEBUG_TEXTURES">Texturer</string> <string name="TR_DEBUG_TEXTURES">Texturer</string>
<string name="TR_DEBUG_TONE_ABS">ToneAbs</string> <string name="TR_DEBUG_TONE_ABS">ToneAbs</string>
<string name="TR_DEBUG_MAX_VOLUME">Max Volym</string> <string name="TR_DEBUG_MAX_VOLUME">Maxvolym</string>
<string name="TR_DEBUG_SONGS">Laddade låtar</string> <string name="TR_DEBUG_SONGS">Laddade låtar</string>
<string name="TR_DEBUG_MOUSE">Mus</string> <string name="TR_DEBUG_MOUSE">Mus</string>
<string name="TR_DEBUG_MEMORY">Minnesanvändning</string> <string name="TR_DEBUG_MEMORY">Minnesanvändning</string>
@@ -79,8 +79,8 @@
<string name="TR_CONFIG_NO_OWN_MUSIC">Ingen egen musik</string> <string name="TR_CONFIG_NO_OWN_MUSIC">Ingen egen musik</string>
<string name="TR_CONFIG_ONLY_OWN_MUSIC">Endast egen musik</string> <string name="TR_CONFIG_ONLY_OWN_MUSIC">Endast egen musik</string>
<string name="TR_CONFIG_ONLY_SONG">Endast vald låt</string> <string name="TR_CONFIG_ONLY_SONG">Endast vald låt</string>
<string name="TR_CONFIG_FADEPLAYERINFO_ALL">Alla</string> <string name="TR_CONFIG_FADEPLAYERINFO_ALL">Allt</string>
<string name="TR_CONFIG_FADEPLAYERINFO_INFO">Endast namn och avatarer</string> <string name="TR_CONFIG_FADEPLAYERINFO_INFO">Endast namn och profilbilder</string>
<string name="TR_CONFIG_FADEPLAYERINFO_OFF">Ingenting</string> <string name="TR_CONFIG_FADEPLAYERINFO_OFF">Ingenting</string>
<string name="TR_CONFIG_LYRICSTYLE_FILL">Fyll</string> <string name="TR_CONFIG_LYRICSTYLE_FILL">Fyll</string>
<string name="TR_CONFIG_LYRICSTYLE_JUMP">Hoppa</string> <string name="TR_CONFIG_LYRICSTYLE_JUMP">Hoppa</string>
@@ -165,9 +165,9 @@
<string name="TR_SCREENPROFILES_ACTIVE">Aktiv</string> <string name="TR_SCREENPROFILES_ACTIVE">Aktiv</string>
<string name="TR_SCREENPROFILES_BUTTON_NEW">Ny</string> <string name="TR_SCREENPROFILES_BUTTON_NEW">Ny</string>
<string name="TR_SCREENPROFILES_BUTTON_DELETE">Radera</string> <string name="TR_SCREENPROFILES_BUTTON_DELETE">Radera</string>
<string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Ta ögonblicksbild</string> <string name="TR_SCREENPROFILES_BUTTON_TAKESNAPSHOT">Ta bild</string>
<string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Spara ögonblicksbild</string> <string name="TR_SCREENPROFILES_BUTTON_SAVESNAPSHOT">Spara bild</string>
<string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Radera ögonblicksbild</string> <string name="TR_SCREENPROFILES_BUTTON_DISCARDSNAPSHOT">Radera bild</string>
<string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webbkamera</string> <string name="TR_SCREENPROFILES_BUTTON_WEBCAM">Webbkamera</string>
<string name="TR_SCREENO_OPTIONS">Alternativ</string> <string name="TR_SCREENO_OPTIONS">Alternativ</string>
<string name="TR_SCREENO_BUTTON_GAME">Spel</string> <string name="TR_SCREENO_BUTTON_GAME">Spel</string>
@@ -185,7 +185,7 @@
<string name="TR_SCREENOGAME_TABS">Flikar</string> <string name="TR_SCREENOGAME_TABS">Flikar</string>
<string name="TR_SCREENOGAME_DIFFICULTY">Spelets svårighetsgrad</string> <string name="TR_SCREENOGAME_DIFFICULTY">Spelets svårighetsgrad</string>
<string name="TR_SCREENOGAME_TIMERMODE">Timerläge</string> <string name="TR_SCREENOGAME_TIMERMODE">Timerläge</string>
<string name="TR_SCREENOGAME_HIGHSCORESTYLE">Topplistestil</string> <string name="TR_SCREENOGAME_HIGHSCORESTYLE">Topplistsvy</string>
<string name="TR_SCREENORECORD_OPTIONS">Inspelningsalternativ</string> <string name="TR_SCREENORECORD_OPTIONS">Inspelningsalternativ</string>
<string name="TR_SCREENORECORD_DEVICE">Enhet</string> <string name="TR_SCREENORECORD_DEVICE">Enhet</string>
<string name="TR_SCREENORECORD_INPUT">Ingång</string> <string name="TR_SCREENORECORD_INPUT">Ingång</string>
@@ -204,6 +204,7 @@
<string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Källa för bakgrundsmusik</string> <string name="TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE">Källa för bakgrundsmusik</string>
<string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volym på förhandsvisning</string> <string name="TR_SCREENOSOUND_PREVIEWMUSICVOLUME">Volym på förhandsvisning</string>
<string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volym på musik under spel</string> <string name="TR_SCREENOSOUND_GAMEMUSICVOLUME">Volym på musik under spel</string>
<string name="TR_SCREENOSOUND_KARAOKEEFFECT">Karaokeeffekt</string>
<string name="TR_SCREENOTHEME_OPTIONS">Temaalternativ</string> <string name="TR_SCREENOTHEME_OPTIONS">Temaalternativ</string>
<string name="TR_SCREENOTHEME_THEME">Tema</string> <string name="TR_SCREENOTHEME_THEME">Tema</string>
<string name="TR_SCREENOTHEME_SKIN">Skal</string> <string name="TR_SCREENOTHEME_SKIN">Skal</string>
+8 -1
View File
@@ -124,6 +124,7 @@
<string name="TR_SCREENSONG_ALLSONGS">Tüm Şarkılar</string> <string name="TR_SCREENSONG_ALLSONGS">Tüm Şarkılar</string>
<string name="TR_SCREENSONG_NUMSONGS">(%v Şarkıları)</string> <string name="TR_SCREENSONG_NUMSONGS">(%v Şarkıları)</string>
<string name="TR_SCREENSONG_NUMSONG">(%v Şarkısı)</string> <string name="TR_SCREENSONG_NUMSONG">(%v Şarkısı)</string>
<string name="TR_SCREENSONG_ARTIST_TITLE">%a - %t</string>
<string name="TR_SCREENSING_PAUSE">Duraklat</string> <string name="TR_SCREENSING_PAUSE">Duraklat</string>
<string name="TR_SCREENSING_BUTTON_CANCEL">Şarkı söylemeyi durdur</string> <string name="TR_SCREENSING_BUTTON_CANCEL">Şarkı söylemeyi durdur</string>
<string name="TR_SCREENSING_BUTTON_CONTINUE">Devam et</string> <string name="TR_SCREENSING_BUTTON_CONTINUE">Devam et</string>
@@ -163,7 +164,12 @@
<string name="TR_SCREENORECORD_OPTIONS">Kaydetme Seçenekleri</string> <string name="TR_SCREENORECORD_OPTIONS">Kaydetme Seçenekleri</string>
<string name="TR_SCREENORECORD_DEVICE">Aygıt</string> <string name="TR_SCREENORECORD_DEVICE">Aygıt</string>
<string name="TR_SCREENORECORD_INPUT">Giriş</string> <string name="TR_SCREENORECORD_INPUT">Giriş</string>
<string name="TR_SCREENORECORD_MIC_DELAY">Mikrofon Gecikmesi</string> <string name="TR_SCREENORECORD_PLAYER_1">Oyuncu 1</string>
<string name="TR_SCREENORECORD_PLAYER_2">Oyuncu 2</string>
<string name="TR_SCREENORECORD_PLAYER_3">Oyuncu 3</string>
<string name="TR_SCREENORECORD_PLAYER_4">Oyuncu 4</string>
<string name="TR_SCREENORECORD_PLAYER_5">Oyuncu 5</string>
<string name="TR_SCREENORECORD_PLAYER_6">Oyuncu 6</string>
<string name="TR_SCREENORECORD_MIC_WARNING">Uyarı: Tek oyuncuya iki mikrofon atandı.</string> <string name="TR_SCREENORECORD_MIC_WARNING">Uyarı: Tek oyuncuya iki mikrofon atandı.</string>
<string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Gecikme Testi</string> <string name="TR_SCREENORECORD_BUTTON_DELAYTEST">Gecikme Testi</string>
<string name="TR_SCREENOSOUND_OPTIONS">Ses Seçenekleri</string> <string name="TR_SCREENOSOUND_OPTIONS">Ses Seçenekleri</string>
@@ -187,5 +193,6 @@
<string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Arka Planları</string> <string name="TR_SCREENOVIDEO_VIDEOBACKGROUNDS">Video Arka Planları</string>
<string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Önizleme</string> <string name="TR_SCREENOVIDEO_VIDEOPREVIEW">Video Önizleme</string>
<string name="TR_SCREENOVIDEO_VIDEOINSONGS">Şarkı Söylerken Videoları Gösterme</string> <string name="TR_SCREENOVIDEO_VIDEOINSONGS">Şarkı Söylerken Videoları Gösterme</string>
<string name="TR_SCREENOVIDEO_VIDEOSTOBACKGROUND">Şarkı Söylerken Videoları Gösterme</string>
<string name="TR_SCREENPVOLUMECONTROL_VOLUME">Ses</string> <string name="TR_SCREENPVOLUMECONTROL_VOLUME">Ses</string>
</resources> </resources>
@@ -25,5 +25,5 @@
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string> <string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De xuru quies colar?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De xuru quies colar?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador de la ronda siguiente:</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador de la ronda siguiente:</string>
<string name="TR_SCREENMAIN_FINISH">¡Toles rondes tan cantaes! Ya\'l ganador ye...</string> <string name="TR_SCREENMAIN_FINISH">¡Toles rondes tan cantaes! Ya'l ganador ye...</string>
</resources> </resources>
@@ -15,6 +15,8 @@
<string name="TR_SCREENCONFIG_NUMPLAYERS">Počet hráčů</string> <string name="TR_SCREENCONFIG_NUMPLAYERS">Počet hráčů</string>
<string name="TR_SCREENCONFIG_NUMMICS">Počet mikrofonů</string> <string name="TR_SCREENCONFIG_NUMMICS">Počet mikrofonů</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Počet kol</string> <string name="TR_SCREENCONFIG_NUMROUNDS">Počet kol</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Počet žolíků</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Doplnit žolíky každé kolo</string>
<string name="TR_SCREENNAMES_TITLE">Soutěžní režim: Výběr hráče</string> <string name="TR_SCREENNAMES_TITLE">Soutěžní režim: Výběr hráče</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Vybrat náhodně</string> <string name="TR_SCREENNAMES_BUTTON_RANDOM">Vybrat náhodně</string>
<string name="TR_SCREENMAIN_TITLE">Soutěžní režim: Přehled</string> <string name="TR_SCREENMAIN_TITLE">Soutěžní režim: Přehled</string>
@@ -15,6 +15,8 @@
<string name="TR_SCREENCONFIG_NUMPLAYERS">Nombre de joueurs</string> <string name="TR_SCREENCONFIG_NUMPLAYERS">Nombre de joueurs</string>
<string name="TR_SCREENCONFIG_NUMMICS">Nombre de micros</string> <string name="TR_SCREENCONFIG_NUMMICS">Nombre de micros</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Nombre de tours</string> <string name="TR_SCREENCONFIG_NUMROUNDS">Nombre de tours</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Nombre de jokers</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Remplir de nouveau les jokers à tour</string>
<string name="TR_SCREENNAMES_TITLE">Mode Challenge: Choix des joueurs</string> <string name="TR_SCREENNAMES_TITLE">Mode Challenge: Choix des joueurs</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Sélectionner au hasard</string> <string name="TR_SCREENNAMES_BUTTON_RANDOM">Sélectionner au hasard</string>
<string name="TR_SCREENMAIN_TITLE">Mode Challenge: Résumé</string> <string name="TR_SCREENMAIN_TITLE">Mode Challenge: Résumé</string>
@@ -15,6 +15,8 @@
<string name="TR_SCREENCONFIG_NUMPLAYERS">TODO: Number of players</string> <string name="TR_SCREENCONFIG_NUMPLAYERS">TODO: Number of players</string>
<string name="TR_SCREENCONFIG_NUMMICS">TODO: Number of mics</string> <string name="TR_SCREENCONFIG_NUMMICS">TODO: Number of mics</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">TODO: Number of rounds</string> <string name="TR_SCREENCONFIG_NUMROUNDS">TODO: Number of rounds</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Número de comodines</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Rellenar comodines cada ronda</string>
<string name="TR_SCREENNAMES_TITLE">TODO: Challenge Mode: Choose Player</string> <string name="TR_SCREENNAMES_TITLE">TODO: Challenge Mode: Choose Player</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Seleccionar aleatoriamente</string> <string name="TR_SCREENNAMES_BUTTON_RANDOM">Seleccionar aleatoriamente</string>
<string name="TR_SCREENMAIN_TITLE">TODO: Challenge Mode: Overview</string> <string name="TR_SCREENMAIN_TITLE">TODO: Challenge Mode: Overview</string>
@@ -2,7 +2,7 @@
<resources> <resources>
<string name="language">Svenska</string> <string name="language">Svenska</string>
<string name="TR_PARTYMODE_NAME">Utmanarläge</string> <string name="TR_PARTYMODE_NAME">Utmanarläge</string>
<string name="TR_PARTYMODE_DESCRIPTION">Spela några utmanar-omgångar.</string> <string name="TR_PARTYMODE_DESCRIPTION">Spela några utmanaromgångar.</string>
<string name="TR_PARTYMODE_AUDIENCE">För alla som är intresserade av dueller.</string> <string name="TR_PARTYMODE_AUDIENCE">För alla som är intresserade av dueller.</string>
<string name="TR_BUTTON_NEXT">Nästa</string> <string name="TR_BUTTON_NEXT">Nästa</string>
<string name="TR_BUTTON_BACK">Tillbaka</string> <string name="TR_BUTTON_BACK">Tillbaka</string>
@@ -10,23 +10,23 @@
<string name="TR_BUTTON_EXIT">Avsluta</string> <string name="TR_BUTTON_EXIT">Avsluta</string>
<string name="TR_BUTTON_YES">Ja</string> <string name="TR_BUTTON_YES">Ja</string>
<string name="TR_BUTTON_NO">Nej</string> <string name="TR_BUTTON_NO">Nej</string>
<string name="TR_BUTTON_NEXT_ROUND">Nästa Omgång</string> <string name="TR_BUTTON_NEXT_ROUND">Nästa omgång</string>
<string name="TR_SCREENCONFIG_TITLE">Utmanarläge: Konfiguration</string> <string name="TR_SCREENCONFIG_TITLE">Utmanarläge: Konfiguration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Antal spelare</string> <string name="TR_SCREENCONFIG_NUMPLAYERS">Antal spelare</string>
<string name="TR_SCREENCONFIG_NUMMICS">Antal mikrofoner</string> <string name="TR_SCREENCONFIG_NUMMICS">Antal mikrofoner</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Antal omgångar</string> <string name="TR_SCREENCONFIG_NUMROUNDS">Antal omgångar</string>
<string name="TR_SCREENCONFIG_NUMJOKERS">Antal joker</string> <string name="TR_SCREENCONFIG_NUMJOKERS">Antal jokrar</string>
<string name="TR_SCREENCONFIG_REFILLJOKERS">Fyll på jokers varje runda</string> <string name="TR_SCREENCONFIG_REFILLJOKERS">Fyll på jokrar varje runda</string>
<string name="TR_SCREENNAMES_TITLE">Utmanarläge: Välj Spelare</string> <string name="TR_SCREENNAMES_TITLE">Utmanarläge: Välj spelare</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässig</string> <string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässiga</string>
<string name="TR_SCREENMAIN_TITLE">Utmanarläge: Översikt</string> <string name="TR_SCREENMAIN_TITLE">Utmanarläge: Översikt</string>
<string name="TR_SCREENMAIN_TABLE_POS">Position</string> <string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Namn</string> <string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Namn</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Omgångar</string> <string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Omgångar</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vunna</string> <string name="TR_SCREENMAIN_TABLE_WON">Vunna</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sång Poäng</string> <string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sångpoäng</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Resultat</string> <string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Poäng</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vill Du verkligen avsluta?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vill du verkligen avsluta?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Spelare i nästa omgång:</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Spelare i nästa omgång:</string>
<string name="TR_SCREENMAIN_FINISH">Alla omgånga sjungna! Och vinnaren är...</string> <string name="TR_SCREENMAIN_FINISH">Alla omgånga sjungna! Och vinnaren är...</string>
</resources> </resources>
@@ -28,5 +28,5 @@
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string> <string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Puntuación</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De xuru quies colar?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿De xuru quies colar?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador de la ronda siguiente:</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador de la ronda siguiente:</string>
<string name="TR_SCREENMAIN_FINISH">¡Toles rondes tan cantaes! Ya\'l ganador ye...</string> <string name="TR_SCREENMAIN_FINISH">¡Toles rondes tan cantaes! Ya'l ganador ye...</string>
</resources> </resources>
@@ -1,35 +1,35 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<resources> <resources>
<string name="language">Svenska</string> <string name="language">Svenska</string>
<string name="TR_PARTYMODE_NAME">Utmanar Medley Läge</string> <string name="TR_PARTYMODE_NAME">Medleyutmanarläge</string>
<string name="TR_PARTYMODE_DESCRIPTION">Spela några utmanaromgångar, använd endast Medleys</string> <string name="TR_PARTYMODE_DESCRIPTION">Spela några utmanaromgångar med endast medleys.</string>
<string name="TR_PARTYMODE_AUDIENCE">För alla som är intresserade av dueller och Medleys.</string> <string name="TR_PARTYMODE_AUDIENCE">För alla som är intresserade av dueller och medleys.</string>
<string name="TR_BUTTON_NEXT">Nästa</string> <string name="TR_BUTTON_NEXT">Nästa</string>
<string name="TR_BUTTON_BACK">Tillbaka</string> <string name="TR_BUTTON_BACK">Tillbaka</string>
<string name="TR_BUTTON_START">Starta</string> <string name="TR_BUTTON_START">Starta</string>
<string name="TR_BUTTON_EXIT">Avsluta</string> <string name="TR_BUTTON_EXIT">Avsluta</string>
<string name="TR_BUTTON_YES">Ja</string> <string name="TR_BUTTON_YES">Ja</string>
<string name="TR_BUTTON_NO">Nej</string> <string name="TR_BUTTON_NO">Nej</string>
<string name="TR_BUTTON_NEXT_ROUND">Nästa Omgång</string> <string name="TR_BUTTON_NEXT_ROUND">Nästa omgång</string>
<string name="TR_PLAYLIST">Spellista</string> <string name="TR_PLAYLIST">Spellista</string>
<string name="TR_CATEGORY">Kategori</string> <string name="TR_CATEGORY">Kategori</string>
<string name="TR_ALLSONGS">Alla låtar</string> <string name="TR_ALLSONGS">Alla låtar</string>
<string name="TR_SONGS">Låtar</string> <string name="TR_SONGS">Låtar</string>
<string name="TR_SCREENCONFIG_TITLE">Utamanr Medley Läge: Konfiguration</string> <string name="TR_SCREENCONFIG_TITLE">Medleyutmanarläge: Konfiguration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERS">Antal spelare</string> <string name="TR_SCREENCONFIG_NUMPLAYERS">Antal spelare</string>
<string name="TR_SCREENCONFIG_NUMMICS">Antal mikrofoner</string> <string name="TR_SCREENCONFIG_NUMMICS">Antal mikrofoner</string>
<string name="TR_SCREENCONFIG_NUMROUNDS">Antal omgångar</string> <string name="TR_SCREENCONFIG_NUMROUNDS">Antal omgångar</string>
<string name="TR_SCREENCONFIG_NUMSONGS">Antal låtar per omgång</string> <string name="TR_SCREENCONFIG_NUMSONGS">Antal låtar per omgång</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Låt källa</string> <string name="TR_SCREENCONFIG_SONGSOURCE">Låtkälla</string>
<string name="TR_SCREENNAMES_TITLE">Utmanar Medley Läge: Välj Spelare</string> <string name="TR_SCREENNAMES_TITLE">Medleyutmanarläge: Välj Spelare</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässig</string> <string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässiga</string>
<string name="TR_SCREENMAIN_TITLE">Utmanar Medley Läge: Översikt</string> <string name="TR_SCREENMAIN_TITLE">Medleyutmanarläge: Översikt</string>
<string name="TR_SCREENMAIN_TABLE_POS">Position</string> <string name="TR_SCREENMAIN_TABLE_POS">Pos</string>
<string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Namn</string> <string name="TR_SCREENMAIN_TABLE_PLAYERNAME">Namn</string>
<string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Omgångar</string> <string name="TR_SCREENMAIN_TABLE_NUMPLAYED">Omgångar</string>
<string name="TR_SCREENMAIN_TABLE_WON">Vunna</string> <string name="TR_SCREENMAIN_TABLE_WON">Vunna</string>
<string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sång Poäng</string> <string name="TR_SCREENMAIN_TABLE_SINGPOINTS">Sångpoäng</string>
<string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Resultat</string> <string name="TR_SCREENMAIN_TABLE_GAMEPOINTS">Poäng</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vill du verkligen avsluta?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vill du verkligen avsluta?</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Spelare i nästa omgång:</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Spelare i nästa omgång:</string>
<string name="TR_SCREENMAIN_FINISH">Alla omgångar sjungna! Och vinnaren är...</string> <string name="TR_SCREENMAIN_FINISH">Alla omgångar sjungna! Och vinnaren är...</string>
@@ -2,7 +2,7 @@
<resources> <resources>
<string name="language">Inglés</string> <string name="language">Inglés</string>
<string name="TR_PARTYMODE_NAME">Tic-Tac-Toe</string> <string name="TR_PARTYMODE_NAME">Tic-Tac-Toe</string>
<string name="TR_PARTYMODE_DESCRIPTION">Xugar Tic-Tac-Toe d\'un mou especial</string> <string name="TR_PARTYMODE_DESCRIPTION">Xugar Tic-Tac-Toe d'un mou especial</string>
<string name="TR_BUTTON_NEXT">Siguiente</string> <string name="TR_BUTTON_NEXT">Siguiente</string>
<string name="TR_BUTTON_BACK">Tornar</string> <string name="TR_BUTTON_BACK">Tornar</string>
<string name="TR_BUTTON_START">Entamar</string> <string name="TR_BUTTON_START">Entamar</string>
@@ -27,6 +27,6 @@
<string name="TR_SCREENMAIN_TEAM_CHOOSE">Esbilla un campu.</string> <string name="TR_SCREENMAIN_TEAM_CHOOSE">Esbilla un campu.</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador siguiente</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Xugador siguiente</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿Colar de xuru de Tic-Tac-Toe?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">¿Colar de xuru de Tic-Tac-Toe?</string>
<string name="TR_SCREENMAIN_WINNER">Ya\'l ganador ye...</string> <string name="TR_SCREENMAIN_WINNER">Ya'l ganador ye...</string>
<string name="TR_SCREENMAIN_NOWINNER">Nun hai ganador dalu nesta ronda...</string> <string name="TR_SCREENMAIN_NOWINNER">Nun hai ganador dalu nesta ronda...</string>
</resources> </resources>
@@ -2,7 +2,7 @@
<resources> <resources>
<string name="language">Français</string> <string name="language">Français</string>
<string name="TR_PARTYMODE_NAME">Tic-Tac-Toe</string> <string name="TR_PARTYMODE_NAME">Tic-Tac-Toe</string>
<string name="TR_PARTYMODE_DESCRIPTION">Jouez au Tic-Tac-Toe d\'une nouvelle façon</string> <string name="TR_PARTYMODE_DESCRIPTION">Jouez au Tic-Tac-Toe d'une nouvelle façon</string>
<string name="TR_PARTYMODE_AUDIENCE">Des matchs amusants alliant stratégie, gains et compétences</string> <string name="TR_PARTYMODE_AUDIENCE">Des matchs amusants alliant stratégie, gains et compétences</string>
<string name="TR_BUTTON_NEXT">Suivant</string> <string name="TR_BUTTON_NEXT">Suivant</string>
<string name="TR_BUTTON_BACK">Retour</string> <string name="TR_BUTTON_BACK">Retour</string>
@@ -17,8 +17,8 @@
<string name="TR_CATEGORY">Catégorie</string> <string name="TR_CATEGORY">Catégorie</string>
<string name="TR_ALLSONGS">Toutes les chansons</string> <string name="TR_ALLSONGS">Toutes les chansons</string>
<string name="TR_SCREENCONFIG_TITLE">Tic-Tac-Toe: Configuration</string> <string name="TR_SCREENCONFIG_TITLE">Tic-Tac-Toe: Configuration</string>
<string name="TR_SCREENCONFIG_NUMPLAYERST1">Nombre de joueurs dans l\'Equipe 1</string> <string name="TR_SCREENCONFIG_NUMPLAYERST1">Nombre de joueurs dans l'Equipe 1</string>
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Nombre de joueurs dans l\'Equipe 2</string> <string name="TR_SCREENCONFIG_NUMPLAYERST2">Nombre de joueurs dans l'Equipe 2</string>
<string name="TR_SCREENCONFIG_NUMFIELDS">Nombre de champs</string> <string name="TR_SCREENCONFIG_NUMFIELDS">Nombre de champs</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Source des chansons</string> <string name="TR_SCREENCONFIG_SONGSOURCE">Source des chansons</string>
<string name="TR_SCREENCONFIG_GAMEMODE">Mode de jeu</string> <string name="TR_SCREENCONFIG_GAMEMODE">Mode de jeu</string>
@@ -30,5 +30,5 @@
<string name="TR_SCREENMAIN_NEXT_PLAYER">Prochains joueurs</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Prochains joueurs</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Voulez vous vraiment quitter Tic-Tac-Toe?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Voulez vous vraiment quitter Tic-Tac-Toe?</string>
<string name="TR_SCREENMAIN_WINNER">Et le gagnant est...</string> <string name="TR_SCREENMAIN_WINNER">Et le gagnant est...</string>
<string name="TR_SCREENMAIN_NOWINNER">Il n\'y a pas de gagnant sur ce tour...</string> <string name="TR_SCREENMAIN_NOWINNER">Il n'y a pas de gagnant sur ce tour...</string>
</resources> </resources>
@@ -31,5 +31,5 @@
<string name="TR_SCREENMAIN_NEXT_PLAYER">Prossimo giocatore</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Prossimo giocatore</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vuoi veramente uscire dal Tris?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Vuoi veramente uscire dal Tris?</string>
<string name="TR_SCREENMAIN_WINNER">E il vincitore è...</string> <string name="TR_SCREENMAIN_WINNER">E il vincitore è...</string>
<string name="TR_SCREENMAIN_NOWINNER">Non c\'è nessun vincitore in questo turno...</string> <string name="TR_SCREENMAIN_NOWINNER">Non c'è nessun vincitore in questo turno...</string>
</resources> </resources>
@@ -20,15 +20,16 @@
<string name="TR_SCREENCONFIG_NUMPLAYERST1">Antal spelare i lag 1</string> <string name="TR_SCREENCONFIG_NUMPLAYERST1">Antal spelare i lag 1</string>
<string name="TR_SCREENCONFIG_NUMPLAYERST2">Antal spelare i lag 2</string> <string name="TR_SCREENCONFIG_NUMPLAYERST2">Antal spelare i lag 2</string>
<string name="TR_SCREENCONFIG_NUMFIELDS">Antal fält</string> <string name="TR_SCREENCONFIG_NUMFIELDS">Antal fält</string>
<string name="TR_SCREENCONFIG_SONGSOURCE">Sång källa</string> <string name="TR_SCREENCONFIG_SONGSOURCE">Låtkälla</string>
<string name="TR_SCREENCONFIG_GAMEMODE">Spel Läge</string> <string name="TR_SCREENCONFIG_GAMEMODE">Spelläge</string>
<string name="TR_SCREENNAMES_TITLE">Tripp-Trapp-Trull: Välj Spelare</string> <string name="TR_SCREENNAMES_TITLE">Tripp-Trapp-Trull: Välj spelare</string>
<string name="TR_SCREENNAMES_TEAM1">Lag 1</string> <string name="TR_SCREENNAMES_TEAM1">Lag 1</string>
<string name="TR_SCREENNAMES_TEAM2">Lag 2</string> <string name="TR_SCREENNAMES_TEAM2">Lag 2</string>
<string name="TR_SCREENNAMES_BUTTON_RANDOM">Välj slumpmässiga</string>
<string name="TR_SCREENMAIN_TITLE">Tripp-Trapp-Trull</string> <string name="TR_SCREENMAIN_TITLE">Tripp-Trapp-Trull</string>
<string name="TR_SCREENMAIN_TEAM_CHOOSE">Välj ett fält.</string> <string name="TR_SCREENMAIN_TEAM_CHOOSE">Välj ett fält.</string>
<string name="TR_SCREENMAIN_NEXT_PLAYER">Nästa spelare</string> <string name="TR_SCREENMAIN_NEXT_PLAYER">Nästa spelare</string>
<string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Avsluta Tripp-Trapp-Trull?</string> <string name="TR_SCREENMAIN_POPUP_REALLYEXIT">Avsluta Tripp-Trapp-Trull?</string>
<string name="TR_SCREENMAIN_WINNER">Och vinnare är...</string> <string name="TR_SCREENMAIN_WINNER">Och vinnare är...</string>
<string name="TR_SCREENMAIN_NOWINNER">Det finns ingen vinnare denna omgång...</string> <string name="TR_SCREENMAIN_NOWINNER">Det blev ingen vinnare denna omgång...</string>
</resources> </resources>
+1 -1
View File
@@ -2,7 +2,7 @@
<root> <root>
<PlayerName>Guest 3</PlayerName> <PlayerName>Guest 3</PlayerName>
<Difficulty>TR_CONFIG_EASY</Difficulty> <Difficulty>TR_CONFIG_EASY</Difficulty>
<UserRole>TR_USERROLE_NORMAL</UserRole> <UserRole>TR_USERROLE_GUEST</UserRole>
<Active>TR_CONFIG_ON</Active> <Active>TR_CONFIG_ON</Active>
<Avatar>Avatar_m.png</Avatar> <Avatar>Avatar_m.png</Avatar>
</root> </root>
+26 -12
View File
@@ -1,4 +1,4 @@
Vocaluxe 0.3 README Vocaluxe 0.4.1 README
---------------------------- ----------------------------
================================= =================================
@@ -23,25 +23,29 @@ Vocaluxe is an entirely new development in C#, inspired by the original UltraSta
and the great Ultrastar Deluxe project. and the great Ultrastar Deluxe project.
Supported Operating Systems / Requirements: Supported Operating Systems / Requirements:
- WinXP, Vista, Windows 7 or Windows 8 with .NET 4.0 - Windows Vista, Windows 7, Windows 8 or Windows 10 with .NET 4.0
- Linux (no official support)
- 1 GHz CPU, 512 MB RAM, Graphics card with OpenGL 2.1 or DirectX 9.0 support - 1 GHz CPU, 512 MB RAM, Graphics card with OpenGL 2.1 or DirectX 9.0 support
- Visual C++ Redistributable Packages 2008 and 2012 - Visual C++ Redistributable Package 2010
================================= =================================
= 2. Release Notes = = 2. Release Notes =
================================= =================================
- The program supports 32bit and 64bit (Vocaluxe_x64.exe) operating systems. - The program supports 32bit and 64bit (appropriate download package) operating systems.
- When using installer, you can find all mentioned folder in 'Documents/Vocaluxe', otherwise
they should be created just next to 'Vocaluxe.exe'
- To add your existing song collection to Vocaluxe, put your songs into the 'Songs' subfolder. - To add your existing song collection to Vocaluxe, put your songs into the 'Songs' subfolder.
Alternatively, you can add multiple song paths to Vocaluxe by editing your Config.xml: Alternatively, you can add multiple song paths to Vocaluxe by editing your Config.xml:
<Game> <Game>
<!--SongFolder: SongFolder1, SongFolder2, SongFolder3, ...--> <!--SongFolder: Add each song folder in a seperate SongFolder entry-->
<SongFolder1>C:\Vocaluxe\Songs</SongFolder1> <SongFolder>C:\Vocaluxe\Songs</SongFolder>
<SongFolder2>D:\EvenMore\Songs</SongFolder2> <SongFolder>D:\EvenMore\Songs</SongFolder>
- To use your highscore database from UltraStar deluxe 1.0.1, UltraStar deluxe CMD Mod or - To use your highscore database from UltraStar deluxe 1.0.1, UltraStar deluxe CMD Mod or
UltraStar deluxe 1.1, simply copy your Ultrastar.db (rename if necessary) into the main UltraStar deluxe 1.1, simply copy your Ultrastar.db (rename if necessary) into the main
@@ -102,6 +106,8 @@ or from the console:
Example: Example:
Vocaluxe.exe -PlaylistFolder D:\MyPlaylists Vocaluxe.exe -PlaylistFolder D:\MyPlaylists
-OldTheme yes : Try to load theme that is created for vocaluxe 0.2 or older (or some pre-release version of 0.3). Enter theme editor and save your theme to convert every file to new syntax. This will be removed in a future version.
Complete example: Complete example:
Vocaluxe.exe -ConfigFile MyConfig.xml -ScoreFile C:\Vocaluxe\Highscores\MyHighscoreDB.sqlite -SongFolder D:\MySongCollection -PlaylistFolder D:\MyPlaylists Vocaluxe.exe -ConfigFile MyConfig.xml -ScoreFile C:\Vocaluxe\Highscores\MyHighscoreDB.sqlite -SongFolder D:\MySongCollection -PlaylistFolder D:\MyPlaylists
@@ -128,14 +134,18 @@ Vocaluxe.exe -ConfigFile MyConfig.xml -ScoreFile C:\Vocaluxe\Highscores\MyHighsc
Song screen Song screen
[F3] to open/close the song search menu [F3] to open/close the song search menu
[SPACE] to open/close the song menu [SPACE] to open/close the song menu
[TAB] to switch selection of song menu and playlist (if opened)
[CTRL] + [R] to select a random song [CTRL] + [R] to select a random song
[CTRL] + [A] to sing all songs [CTRL] + [A] to sing all songs
[CTRL] + [S] to sing current song in medley version
[CTRL] + [V] to sing all songs from a category [CTRL] + [V] to sing all songs from a category
[NUM_1]..[NUM_6] to use a Joker for team 1..6 [NUM_1]..[NUM_6] to use a Joker for team 1..6
[A]..[Z] to jump to category/song title starting with that letter [A]..[Z] to jump to category/song title starting with that letter
Name selection screen Name selection screen
[1]..[6] to activate player selection. [1]..[6] to activate player selection.
[P] to activate fast player selection
[+] or [-] to increase/decrease number of player
[Cursor] to select a profile. [Cursor] to select a profile.
[Enter] to confirm a selection. [Enter] to confirm a selection.
@@ -145,20 +155,24 @@ Sing screen
[T] to change the time format of the timer. [T] to change the time format of the timer.
[I] to change view of player information. [I] to change view of player information.
[W] to activate the configured webcam. [W] to activate the configured webcam.
[V] to change video aspect ratio
Score and highscore screen
[LEFT] or [RIGHT] to show (high)scores of another round (if there is more than one)
================================= =================================
= 5. Help & Suppport = = 5. Help & Suppport =
================================= =================================
Bug Tracker: http://84.200.73.138/redmine/projects/vocaluxe Vocaluxe Homepage: https://vocaluxe.org
Bug Tracker: https://github.com/Vocaluxe/Vocaluxe/issues
Translations: https://www.transifex.com/projects/p/vocaluxe/ Translations: https://www.transifex.com/projects/p/vocaluxe/
GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki
Support Forum (German): http://www.ultra-star.de Song-DataBase (USDB): http://usdb.animux.de/
Song-DataBase (USDB): http://usdb.animux.de/
================================= =================================
= 6. Source Code = = 6. Source Code =
================================= =================================
Source Code (GitHub): https://github.com/Vocaluxe/Vocaluxe Source Code (GitHub): https://github.com/Vocaluxe/Vocaluxe
SF.Net Page: http://sourceforge.net/projects/vocaluxe/ SF.Net Page (outdated): http://sourceforge.net/projects/vocaluxe/
@@ -18,6 +18,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using VocaluxeLib.Game;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
@@ -430,39 +431,62 @@ namespace VocaluxeLib.PartyModes.Challenge
private void _UpdateScores() private void _UpdateScores()
{ {
//Prepare results table
if (GameData.ResultTable.Count == 0) if (GameData.ResultTable.Count == 0)
{ {
for (int i = 0; i < GameData.NumPlayer; i++) for (int i = 0; i < GameData.NumPlayer; i++)
{ {
var row = new CResultTableRow {PlayerID = GameData.ProfileIDs[i], NumPlayed = 0, NumWon = 0, NumSingPoints = 0, NumGamePoints = 0}; var row = new CResultTableRow { PlayerID = GameData.ProfileIDs[i], NumPlayed = 0, NumWon = 0, NumSingPoints = 0, NumGamePoints = 0 };
GameData.ResultTable.Add(row); GameData.ResultTable.Add(row);
} }
GameData.Results = new int[GameData.NumRounds,GameData.NumPlayerAtOnce]; GameData.Results = new int[GameData.NumRounds, GameData.NumPlayerAtOnce];
for (int i = 0; i < GameData.NumRounds; i++) for (int i = 0; i < GameData.NumRounds; i++)
{ {
for (int j = 0; j < GameData.NumPlayerAtOnce; j++) for (int j = 0; j < GameData.NumPlayerAtOnce; j++)
GameData.Results[i, j] = 0; GameData.Results[i, j] = 0;
} }
} }
SPlayer[] results = CBase.Game.GetPlayers();
if (results == null)
return;
if (results.Length < GameData.NumPlayerAtOnce) //Get points from game
return; CPoints points = CBase.Game.GetPoints();
SPlayer[] players = CBase.Game.GetPlayers();
for (int j = 0; j < GameData.NumPlayerAtOnce; j++) //Go over all rounds and sum up points
GameData.Results[GameData.CurrentRoundNr - 2, j] = (int)Math.Round(results[j].Points); for (int round = 0; round < points.NumRounds; round++)
{
SPlayer[] res = points.GetPlayer(round, GameData.NumPlayerAtOnce);
List<SStats> points = _GetPointsForPlayer(results); if (res == null || res.Length < GameData.NumPlayerAtOnce)
return;
for (int p = 0; p < GameData.NumPlayerAtOnce; p++)
{
players[p].Points += res[p].Points;
players[p].PointsGoldenNotes += res[p].PointsGoldenNotes;
players[p].PointsLineBonus += res[p].PointsLineBonus;
}
}
//Calculate average points
for (int p = 0; p < GameData.NumPlayerAtOnce; p++)
{
players[p].Points /= points.NumRounds;
players[p].PointsGoldenNotes /= points.NumRounds;
players[p].PointsLineBonus /= points.NumRounds;
//Save points in GameData
GameData.Results[GameData.CurrentRoundNr - 2, p] = (int)Math.Round(players[p].Points);
}
List<SStats> stats = _GetPointsForPlayer(players);
for (int i = 0; i < GameData.NumPlayerAtOnce; i++) for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{ {
//Find matching row in results table
int index = -1; int index = -1;
for (int j = 0; j < GameData.ResultTable.Count; j++) for (int j = 0; j < GameData.ResultTable.Count; j++)
{ {
if (points[i].ProfileID == GameData.ResultTable[j].PlayerID) if (stats[i].ProfileID == GameData.ResultTable[j].PlayerID)
{ {
index = j; index = j;
break; break;
@@ -473,15 +497,15 @@ namespace VocaluxeLib.PartyModes.Challenge
continue; continue;
CResultTableRow row = GameData.ResultTable[index]; CResultTableRow row = GameData.ResultTable[index];
//Update results entry
row.NumPlayed++; row.NumPlayed++;
row.NumWon += points[i].Won; row.NumWon += stats[i].Won;
row.NumSingPoints += points[i].SingPoints; row.NumSingPoints += stats[i].SingPoints;
row.NumGamePoints += points[i].GamePoints; row.NumGamePoints += stats[i].GamePoints;
GameData.ResultTable[index] = row; GameData.ResultTable[index] = row;
} }
GameData.ResultTable.Sort(); GameData.ResultTable.Sort();
//Update position-number //Update position-number
@@ -125,6 +125,7 @@ namespace VocaluxeLib.PartyModes.Challenge
_AddText(_NextPlayerTexts[_NextPlayerTexts.Count - 1]); _AddText(_NextPlayerTexts[_NextPlayerTexts.Count - 1]);
_NextPlayerStatics.Add(GetNewStatic(_Statics[_StaticNextPlayer])); _NextPlayerStatics.Add(GetNewStatic(_Statics[_StaticNextPlayer]));
_AddStatic(_NextPlayerStatics[_NextPlayerStatics.Count - 1]); _AddStatic(_NextPlayerStatics[_NextPlayerStatics.Count - 1]);
_NextPlayerStatics[_NextPlayerStatics.Count - 1].Aspect = EAspect.Crop;
} }
_Statics[_StaticNextPlayer].Visible = false; _Statics[_StaticNextPlayer].Visible = false;
} }
@@ -37,6 +37,7 @@ namespace VocaluxeLib.PartyModes.Challenge
base.Init(); base.Init();
_PartyMode = (CPartyModeChallenge)base._PartyMode; _PartyMode = (CPartyModeChallenge)base._PartyMode;
_AllowChangePlayerNum = false; _AllowChangePlayerNum = false;
_Teams = false;
} }
public override void OnShow() public override void OnShow()
@@ -411,15 +411,16 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
private void _UpdateScores() private void _UpdateScores()
{ {
//Prepare results table
if (GameData.ResultTable.Count == 0) if (GameData.ResultTable.Count == 0)
{ {
for (int i = 0; i < GameData.NumPlayer; i++) for (int i = 0; i < GameData.NumPlayer; i++)
{ {
CResultTableRow row = new CResultTableRow {PlayerID = GameData.ProfileIDs[i], NumPlayed = 0, NumWon = 0, NumSingPoints = 0, NumGamePoints = 0}; var row = new CResultTableRow { PlayerID = GameData.ProfileIDs[i], NumPlayed = 0, NumWon = 0, NumSingPoints = 0, NumGamePoints = 0 };
GameData.ResultTable.Add(row); GameData.ResultTable.Add(row);
} }
GameData.Results = new int[GameData.NumRounds,GameData.NumPlayerAtOnce]; GameData.Results = new int[GameData.NumRounds, GameData.NumPlayerAtOnce];
for (int i = 0; i < GameData.NumRounds; i++) for (int i = 0; i < GameData.NumRounds; i++)
{ {
for (int j = 0; j < GameData.NumPlayerAtOnce; j++) for (int j = 0; j < GameData.NumPlayerAtOnce; j++)
@@ -427,58 +428,62 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
} }
} }
CPoints gamePoints = CBase.Game.GetPoints(); //Get points from game
if (gamePoints == null || gamePoints.NumPlayer < GameData.NumPlayerAtOnce) CPoints points = CBase.Game.GetPoints();
return; SPlayer[] players = CBase.Game.GetPlayers();
SPlayer[] results = gamePoints.GetPlayer(0, GameData.NumPlayerAtOnce); //Go over all rounds and sum up points
if (results == null) for (int round = 0; round < points.NumRounds; round++)
return;
if (results.Length < GameData.NumPlayerAtOnce)
return;
if (gamePoints.NumRounds == 0)
return;
for (int i = 1; i < gamePoints.NumRounds; i++)
{ {
SPlayer[] temp = gamePoints.GetPlayer(i, GameData.NumPlayerAtOnce); SPlayer[] res = points.GetPlayer(round, GameData.NumPlayerAtOnce);
if (res == null || res.Length < GameData.NumPlayerAtOnce)
return;
for (int p = 0; p < GameData.NumPlayerAtOnce; p++) for (int p = 0; p < GameData.NumPlayerAtOnce; p++)
results[p].Points += temp[p].Points; {
players[p].Points += res[p].Points;
players[p].PointsGoldenNotes += res[p].PointsGoldenNotes;
players[p].PointsLineBonus += res[p].PointsLineBonus;
}
} }
//Calculate average points
for (int j = 0; j < GameData.NumPlayerAtOnce; j++) for (int p = 0; p < GameData.NumPlayerAtOnce; p++)
{ {
results[j].Points = results[j].Points / gamePoints.NumRounds; players[p].Points /= points.NumRounds;
GameData.Results[GameData.CurrentRoundNr - 2, j] = (int)Math.Round(results[j].Points); players[p].PointsGoldenNotes /= points.NumRounds;
players[p].PointsLineBonus /= points.NumRounds;
//Save points in GameData
GameData.Results[GameData.CurrentRoundNr - 2, p] = (int)Math.Round(players[p].Points);
} }
List<SStats> points = _GetPointsForPlayer(results); List<SStats> stats = _GetPointsForPlayer(players);
for (int i = 0; i < GameData.NumPlayerAtOnce; i++) for (int i = 0; i < GameData.NumPlayerAtOnce; i++)
{ {
//Find matching row in results table
int index = -1; int index = -1;
for (int j = 0; j < GameData.ResultTable.Count; j++) for (int j = 0; j < GameData.ResultTable.Count; j++)
{ {
if (points[i].ProfileID == GameData.ResultTable[j].PlayerID) if (stats[i].ProfileID == GameData.ResultTable[j].PlayerID)
{ {
index = j; index = j;
break; break;
} }
} }
if (index != -1) if (index == -1)
{ continue;
CResultTableRow row = GameData.ResultTable[index]; CResultTableRow row = GameData.ResultTable[index];
row.NumPlayed++; //Update results entry
row.NumWon += points[i].Won; row.NumPlayed++;
row.NumSingPoints += points[i].SingPoints; row.NumWon += stats[i].Won;
row.NumGamePoints += points[i].GamePoints; row.NumSingPoints += stats[i].SingPoints;
row.NumGamePoints += stats[i].GamePoints;
GameData.ResultTable[index] = row; GameData.ResultTable[index] = row;
}
} }
GameData.ResultTable.Sort(); GameData.ResultTable.Sort();
@@ -37,6 +37,7 @@ namespace VocaluxeLib.PartyModes.ChallengeMedley
base.Init(); base.Init();
_PartyMode = (CPartyModeChallengeMedley)base._PartyMode; _PartyMode = (CPartyModeChallengeMedley)base._PartyMode;
_AllowChangePlayerNum = false; _AllowChangePlayerNum = false;
_Teams = false;
} }
public override void OnShow() public override void OnShow()
@@ -20,6 +20,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using VocaluxeLib.Game;
using VocaluxeLib.Menu; using VocaluxeLib.Menu;
using VocaluxeLib.Songs; using VocaluxeLib.Songs;
@@ -60,7 +61,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
// ReSharper disable ClassNeverInstantiated.Global // ReSharper disable ClassNeverInstantiated.Global
public sealed class CPartyModeTicTacToe : CPartyMode public sealed class CPartyModeTicTacToe : CPartyMode
// ReSharper restore ClassNeverInstantiated.Global // ReSharper restore ClassNeverInstantiated.Global
{ {
public override int MinMics public override int MinMics
{ {
@@ -96,7 +97,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
get { return 10; } get { return 10; }
} }
private enum EStage public readonly EGameMode[] AvailableGameModes = { EGameMode.TR_GAMEMODE_NORMAL, EGameMode.TR_GAMEMODE_SHORTSONG, EGameMode.TR_GAMEMODE_DUET };
private enum EStage
{ {
Config, Config,
Names, Names,
@@ -119,7 +122,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
public int CategoryIndex; public int CategoryIndex;
public int PlaylistID; public int PlaylistID;
public EGameMode GameMode; public int GameMode;
public List<CRound> Rounds; public List<CRound> Rounds;
public List<int> Songs; public List<int> Songs;
@@ -160,7 +163,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
SongSource = ESongSource.TR_ALLSONGS, SongSource = ESongSource.TR_ALLSONGS,
PlaylistID = 0, PlaylistID = 0,
CategoryIndex = 0, CategoryIndex = 0,
GameMode = EGameMode.TR_GAMEMODE_NORMAL, GameMode = 0,
Rounds = new List<CRound>(), Rounds = new List<CRound>(),
Songs = new List<int>(), Songs = new List<int>(),
NumJokerRandom = new int[2], NumJokerRandom = new int[2],
@@ -432,20 +435,20 @@ namespace VocaluxeLib.PartyModes.TicTacToe
for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++) for (int i = 0; i < CBase.Playlist.GetSongCount(GameData.PlaylistID); i++)
{ {
int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID; int id = CBase.Playlist.GetSong(GameData.PlaylistID, i).SongID;
if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(GameData.GameMode)) if (CBase.Songs.GetSongByID(id).AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode]))
GameData.Songs.Add(id); GameData.Songs.Add(id);
} }
break; break;
case ESongSource.TR_ALLSONGS: case ESongSource.TR_ALLSONGS:
ReadOnlyCollection<CSong> avSongs = CBase.Songs.GetSongs(); ReadOnlyCollection<CSong> avSongs = CBase.Songs.GetSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID)); GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID));
break; break;
case ESongSource.TR_CATEGORY: case ESongSource.TR_CATEGORY:
CBase.Songs.SetCategory(GameData.CategoryIndex); CBase.Songs.SetCategory(GameData.CategoryIndex);
avSongs = CBase.Songs.GetVisibleSongs(); avSongs = CBase.Songs.GetVisibleSongs();
GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(GameData.GameMode)).Select(song => song.ID)); GameData.Songs.AddRange(avSongs.Where(song => song.AvailableGameModes.Contains(AvailableGameModes[GameData.GameMode])).Select(song => song.ID));
CBase.Songs.SetCategory(-1); CBase.Songs.SetCategory(-1);
break; break;
@@ -493,7 +496,7 @@ namespace VocaluxeLib.PartyModes.TicTacToe
if (isDuet) if (isDuet)
players[1].VoiceNr = 1; players[1].VoiceNr = 1;
CBase.Game.AddSong(round.SongID, GameData.GameMode); CBase.Game.AddSong(round.SongID, AvailableGameModes[GameData.GameMode]);
} }
private void _SetNumJokers() private void _SetNumJokers()
@@ -528,13 +531,33 @@ namespace VocaluxeLib.PartyModes.TicTacToe
if (!GameData.Rounds[GameData.FieldNr].Finished) if (!GameData.Rounds[GameData.FieldNr].Finished)
GameData.CurrentRoundNr++; GameData.CurrentRoundNr++;
CPoints points = CBase.Game.GetPoints();
SPlayer[] results = CBase.Game.GetPlayers(); SPlayer[] results = CBase.Game.GetPlayers();
if (results == null)
if (results == null || results.Length < 2)
return; return;
if (results.Length < 2) //Sum up all points
return; for (int r = 0; r < points.NumRounds; r++)
{
SPlayer[] player = points.GetPlayer(r, 2);
for (int i = 0; i < 2; i++)
{
results[i].Points += player[i].Points;
results[i].PointsGoldenNotes += player[i].PointsGoldenNotes;
results[i].PointsLineBonus += player[i].PointsLineBonus;
}
}
//Calc average of points
for (int i = 0; i < 2; i++)
{
results[i].Points /= points.NumRounds;
results[i].PointsGoldenNotes /= points.NumRounds;
results[i].PointsLineBonus /= points.NumRounds;
}
//Decide who has won
GameData.Rounds[GameData.FieldNr].PointsTeam1 = (int)Math.Round(results[0].Points); GameData.Rounds[GameData.FieldNr].PointsTeam1 = (int)Math.Round(results[0].Points);
GameData.Rounds[GameData.FieldNr].PointsTeam2 = (int)Math.Round(results[1].Points); GameData.Rounds[GameData.FieldNr].PointsTeam2 = (int)Math.Round(results[1].Points);
GameData.Rounds[GameData.FieldNr].Finished = true; GameData.Rounds[GameData.FieldNr].Finished = true;
@@ -160,8 +160,8 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_SelectSlides[_SelectSlideGameMode].Visible = true; _SelectSlides[_SelectSlideGameMode].Visible = true;
_SelectSlides[_SelectSlideGameMode].Clear(); _SelectSlides[_SelectSlideGameMode].Clear();
_SelectSlides[_SelectSlideGameMode].SetValues<EGameMode>((int)_PartyMode.GameData.GameMode); _SelectSlides[_SelectSlideGameMode].AddValues(_PartyMode.AvailableGameModes.Select(gm => gm.ToString()));
_SelectSlides[_SelectSlideGameMode].RemoveValue(EGameMode.TR_GAMEMODE_MEDLEY.ToString()); _SelectSlides[_SelectSlideGameMode].Selection = _PartyMode.GameData.GameMode;
} }
private void _UpdateSlides() private void _UpdateSlides()
@@ -171,9 +171,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection; _PartyMode.GameData.SongSource = (ESongSource)_SelectSlides[_SelectSlideSongSource].Selection;
_PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection; _PartyMode.GameData.PlaylistID = _SelectSlides[_SelectSlidePlaylist].Selection;
_PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection; _PartyMode.GameData.CategoryIndex = _SelectSlides[_SelectSlideCategory].Selection;
_PartyMode.GameData.GameMode = (EGameMode)_SelectSlides[_SelectSlideGameMode].Selection; _PartyMode.GameData.GameMode = _SelectSlides[_SelectSlideGameMode].Selection;
EGameMode gm = _PartyMode.GameData.GameMode; EGameMode gm = _PartyMode.AvailableGameModes[_PartyMode.GameData.GameMode];
if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST) if (_PartyMode.GameData.SongSource == ESongSource.TR_PLAYLIST)
{ {
@@ -98,6 +98,9 @@ namespace VocaluxeLib.PartyModes.TicTacToe
_CreateFields(); _CreateFields();
_Buttons[_ButtonField].Visible = false; _Buttons[_ButtonField].Visible = false;
_Statics[_StaticAvatarT1].Aspect = EAspect.Crop;
_Statics[_StaticAvatarT2].Aspect = EAspect.Crop;
} }
public override bool HandleInput(SKeyEvent keyEvent) public override bool HandleInput(SKeyEvent keyEvent)
+7 -1
View File
@@ -24,6 +24,12 @@
static constexpr double BaseToneFrequency = 65.4064; // lowest (half-)tone to analyze (C2 = 65.4064 Hz) static constexpr double BaseToneFrequency = 65.4064; // lowest (half-)tone to analyze (C2 = 65.4064 Hz)
static constexpr double HalftoneBase = 1.05946309436; // 2^(1/12) -> HalftoneBase^12 = 2 (one octave) static constexpr double HalftoneBase = 1.05946309436; // 2^(1/12) -> HalftoneBase^12 = 2 (one octave)
template<typename T>
T abs_template(T t)
{
return t>0 ? t : -t;
}
int PtAKF::_InitCount = 0; int PtAKF::_InitCount = 0;
float* restrict PtAKF::_SamplesPerPeriodPerTone = NULL; float* restrict PtAKF::_SamplesPerPeriodPerTone = NULL;
float* restrict PtAKF::_SamplesPerPeriodPerToneFine = NULL; float* restrict PtAKF::_SamplesPerPeriodPerToneFine = NULL;
@@ -360,7 +366,7 @@ float PtAKF::_AMDFBySampleCt(float samples[_SampleCt], float samplesPerPeriodD){
// calc distance to corresponding sample in next period // calc distance to corresponding sample in next period
float xn = samples[sampleIndex]; float xn = samples[sampleIndex];
float xnt = samples[correlatingSampleIndex] * fLow + samples[correlatingSampleIndex + 1] * fHigh; float xnt = samples[correlatingSampleIndex] * fLow + samples[correlatingSampleIndex + 1] * fHigh;
accumDist += abs(xn - xnt); accumDist += abs_template(xn - xnt);
} }
return accumDist / sampleIndex; return accumDist / sampleIndex;
+12 -6
View File
@@ -1,5 +1,12 @@
![Vocaluxe Logo](https://raw.githubusercontent.com/Vocaluxe/Vocaluxe/develop/Output/Graphics/Logo.png) ![Vocaluxe Logo](https://raw.githubusercontent.com/Vocaluxe/Vocaluxe/develop/Output/Graphics/Logo.png)
[![Build status](https://ci.appveyor.com/api/projects/status/y9ylgebv14i7usxx/branch/develop?svg=true)](https://ci.appveyor.com/project/VocaluxeBuildBot/vocaluxe/branch/develop)
[![Nightly build](https://img.shields.io/badge/nightly%20build-latest-blue.svg)](https://vocaluxe.org/#download)
[![Latest stable release](https://img.shields.io/github/release/vocaluxe/Vocaluxe.svg?label=stable%20release)](https://vocaluxe.org/#download)
[![Known bugs](https://img.shields.io/github/issues-raw/vocaluxe/vocaluxe/bug.svg?label=known%20bugs)](https://github.com/Vocaluxe/Vocaluxe/labels/bug)
[![Feature requests](https://img.shields.io/github/issues-raw/vocaluxe/vocaluxe/feature%20request.svg?label=feature%20requests&colorB=007ec6)](https://github.com/Vocaluxe/Vocaluxe/labels/feature%20request)
[![License](https://img.shields.io/badge/licence-GPLv3-blue.svg)](https://github.com/Vocaluxe/Vocaluxe/blob/develop/LICENSE.txt)
[1. About](#1-about) [1. About](#1-about)
[2. Download](#2-download) [2. Download](#2-download)
[3. Contributing](#3-contributing) [3. Contributing](#3-contributing)
@@ -12,17 +19,15 @@ It features mouse, keyboard, gamepad and Wiimote navigation, a multi-language in
Vocaluxe offers diversified party modes and can optionally be controlled via a browser (desktop and mobile supported). Vocaluxe offers diversified party modes and can optionally be controlled via a browser (desktop and mobile supported).
Supported Operating Systems / Requirements: Supported Operating Systems / Requirements:
- WinXP, Vista, Windows 7, Windows 8, Windows 8.1 and Windows 10 with .NET 4.0 - Windows Vista, Windows 7, Windows 8, Windows 8.1 and Windows 10 with .NET 4.0
- Linux (tested on Arch Linux) - *Linux* (no official support)
- 1 GHz CPU, 512 MB RAM, Graphics card with OpenGL 2.1 or DirectX 9.0 support - 1 GHz CPU, 512 MB RAM, Graphics card with OpenGL 2.1 or DirectX 9.0 support
- Visual C++ Redistributable Package 2010
## 2. Download ## 2. Download
You can download precompiled Windows binaries at here: You can download precompiled Windows binaries at here:
http://vocaluxe.sourceforge.net/index.php?p=download https://vocaluxe.org/#download
Nightly builds are available here:
https://github.com/Vocaluxe/Vocaluxe/releases
## 3. Contributing ## 3. Contributing
You want to fix a bug or add a cool new feature to Vocaluxe? Awesome! You want to fix a bug or add a cool new feature to Vocaluxe? Awesome!
@@ -43,6 +48,7 @@ You have a problem or a question implementing your change?
Just [open an issue](https://github.com/Vocaluxe/Vocaluxe/issues/new) or mention `@Vocaluxe` in a comment on GitHub. Just [open an issue](https://github.com/Vocaluxe/Vocaluxe/issues/new) or mention `@Vocaluxe` in a comment on GitHub.
## 4. Help & Support ## 4. Help & Support
Vocaluxe Homepage: https://vocaluxe.org/
GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki
GitHub Issues Tracker: https://github.com/Vocaluxe/Vocaluxe/issues GitHub Issues Tracker: https://github.com/Vocaluxe/Vocaluxe/issues
Translations: https://www.transifex.com/projects/p/vocaluxe/ Translations: https://www.transifex.com/projects/p/vocaluxe/
+39 -20
View File
@@ -51,6 +51,7 @@ namespace Vocaluxe.Base
private static Task _PreviewStartHelperTask; private static Task _PreviewStartHelperTask;
private static int _PreviewStartWaitCounter; private static int _PreviewStartWaitCounter;
private const int _PreviewStartWaitMaxTries = 10; private const int _PreviewStartWaitMaxTries = 10;
private static readonly object _PreviewStartHelperTaskLock = new Object();
public static bool VideoEnabled public static bool VideoEnabled
{ {
@@ -256,10 +257,16 @@ namespace Vocaluxe.Base
{ {
if (_PreviewStartHelperTask != null && ( _PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries)) if (_PreviewStartHelperTask != null && ( _PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries))
{ {
_PreviewStartHelperTask.RunSynchronously(TaskScheduler.FromCurrentSynchronizationContext()); lock (_PreviewStartHelperTaskLock)
_PreviewStartHelperTask.Dispose(); {
_PreviewStartHelperTask = null; // Recheck the condition as it cloud have change before we got the lock
_PreviewStartWaitCounter = 0; if (_PreviewStartHelperTask != null && (_PreviewPlayer.Length > 0 || _PreviewStartWaitCounter++ >= _PreviewStartWaitMaxTries))
{
_PreviewStartHelperTask.RunSynchronously(TaskScheduler.FromCurrentSynchronizationContext());
_PreviewStartHelperTask = null;
_PreviewStartWaitCounter = 0;
}
}
} }
if (!IsPlaying) if (!IsPlaying)
@@ -315,30 +322,42 @@ namespace Vocaluxe.Base
//Change song position only if song is changed or near to end //Change song position only if song is changed or near to end
if (songChanged || _CurPlayer.Position + 30 < _CurPlayer.Length) if (songChanged || _CurPlayer.Position + 30 < _CurPlayer.Length || _PreviewStartHelperTask == null)
{ {
_PreviewStartHelperTask = new Task(() => lock (_PreviewStartHelperTaskLock)
{ {
float length = _PreviewPlayer.Length; _PreviewStartHelperTask = new Task(() =>
if (length < 1) {
length = 30; // If length is unknow or invalid assume a length of 30s float length = _PreviewPlayer.Length;
if (length < 1)
length = 30; // If length is unknow or invalid assume a length of 30s
if (start < 0) if (start < 0)
start = (song.Preview.Source == EDataSource.None) ? length / 4f : song.Preview.StartTime; start = (song.Preview.Source == EDataSource.None) ? length / 4f : song.Preview.StartTime;
if (start > length - 5f) if (start > length - 5f)
start = Math.Max(0f, Math.Min(length / 4f, length - 5f)); start = Math.Max(0f, Math.Min(length / 4f, length - 5f));
if (start >= 0.5f) if (start >= 0.5f)
start -= 0.5f; start -= 0.5f;
_PreviewPlayer.Position = start; _PreviewPlayer.Position = start;
Play(); Play();
}); });
}
_CurPlayer = _PreviewPlayer; _CurPlayer = _PreviewPlayer;
} }
else else
{ {
_PreviewStartHelperTask.Dispose(); if (_PreviewStartHelperTask != null)
_PreviewStartHelperTask = null; {
lock (_PreviewStartHelperTaskLock)
{
// Recheck the condition as it cloud have change before we got the lock
if (_PreviewStartHelperTask != null)
{
_PreviewStartHelperTask = null;
}
}
}
_PreviewPlayer.Position = _CurPlayer.Position; _PreviewPlayer.Position = _CurPlayer.Position;
_CurPlayer = _PreviewPlayer; _CurPlayer = _PreviewPlayer;
Play(); Play();
+35 -18
View File
@@ -191,13 +191,14 @@ namespace Vocaluxe.Base
public static event OnSongMenuChanged SongMenuChanged; public static event OnSongMenuChanged SongMenuChanged;
//Folders //Folders
//We need full path for folders for matching folder path with textfile path when loading
public static readonly List<string> SongFolders = new List<string> public static readonly List<string> SongFolders = new List<string>
{ {
#if WIN #if INSTALLER
CSettings.FolderNameSongs Path.Combine(CSettings.DataFolder, CSettings.FolderNameSongs),
#elif INSTALLER Path.Combine(CSettings.ProgramFolder, FolderNameSongs)
CSettings.FolderNameSongs, #elif WIN
Path.Combine(CSettings.DataFolder, CSettings.FolderNameSongs) Path.Combine(CSettings.ProgramFolder, CSettings.FolderNameSongs)
#elif LINUX #elif LINUX
Path.Combine(CSettings.DataFolder, CSettings.FolderNameSongs) Path.Combine(CSettings.DataFolder, CSettings.FolderNameSongs)
#endif #endif
@@ -208,11 +209,11 @@ namespace Vocaluxe.Base
/// </summary> /// </summary>
public static readonly List<string> ProfileFolders = new List<string> public static readonly List<string> ProfileFolders = new List<string>
{ {
#if WIN #if INSTALLER
Path.Combine(CSettings.DataFolder, CSettings.FolderNameProfiles),
CSettings.FolderNameProfiles
#elif WIN
CSettings.FolderNameProfiles CSettings.FolderNameProfiles
#elif INSTALLER
CSettings.FolderNameProfiles,
Path.Combine(CSettings.DataFolder, CSettings.FolderNameProfiles)
#elif LINUX #elif LINUX
Path.Combine(CSettings.DataFolder, CSettings.FolderNameProfiles) Path.Combine(CSettings.DataFolder, CSettings.FolderNameProfiles)
#endif #endif
@@ -335,15 +336,8 @@ namespace Vocaluxe.Base
else else
Config = xml.DeserializeString<SConfig>("<root />"); Config = xml.DeserializeString<SConfig>("<root />");
if (Config.Game.SongFolder.Length > 0 && Config.Game.SongFolder[0] != "") NormalizeSongPaths();
{
SongFolders.Clear();
SongFolders.AddRange(Config.Game.SongFolder);
}
else
{
Config.Game.SongFolder = SongFolders.ToArray();
}
if ((Config.Game.ScoreAnimationTime > 0 && Config.Game.ScoreAnimationTime < 1) || Config.Game.ScoreAnimationTime < 0) if ((Config.Game.ScoreAnimationTime > 0 && Config.Game.ScoreAnimationTime < 1) || Config.Game.ScoreAnimationTime < 0)
Config.Game.ScoreAnimationTime = 1; Config.Game.ScoreAnimationTime = 1;
@@ -625,6 +619,29 @@ namespace Vocaluxe.Base
return false; return false;
} }
/// <summary>
/// Set song path if none is find in config and check if every path exists
/// </summary>
public static void NormalizeSongPaths()
{
//Check if there are configured songfolders
if (Config.Game.SongFolder.Length > 0 && Config.Game.SongFolder[0] != "")
{
SongFolders.Clear();
foreach (string folder in Config.Game.SongFolder)
{
//Check if folder exists
if (Directory.Exists(folder))
SongFolders.Add(Path.GetFullPath(folder));
}
}
//Test if songfolders are still empty or now empty
if(Config.Game.SongFolder.Length == 0)
Config.Game.SongFolder = SongFolders.ToArray();
}
/// <summary> /// <summary>
/// Load command-line-parameters and their values to lists. /// Load command-line-parameters and their values to lists.
/// </summary> /// </summary>
+2 -2
View File
@@ -84,7 +84,7 @@ namespace Vocaluxe.Base
if (_WidthTrimmed < 0f) if (_WidthTrimmed < 0f)
{ {
string text = Text.TrimEnd(null); string text = Text.TrimEnd(null);
_WidthTrimmed = text.Length == Text.Length ? Width : _Graphics.MeasureString(text, _Font, -1, StringFormat.GenericTypographic).Width; _WidthTrimmed = text.Length == Text.Length ? Width : _Graphics.MeasureString(text, _Font).Width;
} }
return _WidthTrimmed; return _WidthTrimmed;
} }
@@ -94,7 +94,7 @@ namespace Vocaluxe.Base
public CTextElement(string text, Graphics g, Font font) public CTextElement(string text, Graphics g, Font font)
{ {
Text = text; Text = text;
SizeF dimensions = g.MeasureString(text, font, -1, StringFormat.GenericTypographic); SizeF dimensions = g.MeasureString(text, font);
Width = dimensions.Width; Width = dimensions.Width;
Height = (dimensions.Height + font.Height) / 2; Height = (dimensions.Height + font.Height) / 2;
_Graphics = g; _Graphics = g;
+24 -3
View File
@@ -822,7 +822,14 @@ namespace Vocaluxe.Base
public void Close(ref CVideoStream stream) public void Close(ref CVideoStream stream)
{ {
CVideo.Close(ref stream); try
{
CVideo.Close(ref stream);
}
catch (NotSupportedException e)
{
CLog.LogError($"Clould not close the background video: {e.Message}");
}
} }
public void SetLoop(CVideoStream stream, bool loop = true) public void SetLoop(CVideoStream stream, bool loop = true)
@@ -832,12 +839,26 @@ namespace Vocaluxe.Base
public void Pause(CVideoStream stream) public void Pause(CVideoStream stream)
{ {
CVideo.Pause(stream); try
{
CVideo.Pause(stream);
}
catch (NotSupportedException e)
{
CLog.LogError($"Clould not pause the background video: {e.Message}");
}
} }
public void Resume(CVideoStream stream) public void Resume(CVideoStream stream)
{ {
CVideo.Resume(stream); try
{
CVideo.Resume(stream);
}
catch (NotSupportedException e)
{
CLog.LogError($"Clould not resume the background video: {e.Message}");
}
} }
} }
+6 -49
View File
@@ -20,8 +20,10 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using VocaluxeLib; using VocaluxeLib;
using VocaluxeLib.Xml;
namespace Vocaluxe.Base namespace Vocaluxe.Base
{ {
@@ -35,6 +37,8 @@ namespace Vocaluxe.Base
// ReSharper restore UnusedMember.Global // ReSharper restore UnusedMember.Global
} }
/// <summary> /// <summary>
/// This class contains settings for the program /// This class contains settings for the program
/// These are not editable, everything that can be changed by the user is in CConfig /// These are not editable, everything that can be changed by the user is in CConfig
@@ -53,25 +57,6 @@ namespace Vocaluxe.Base
//State of the program //State of the program
public static EProgramState ProgramState = EProgramState.Start; public static EProgramState ProgramState = EProgramState.Start;
//Adjusting of programName and version now in the assembly config.
private static readonly Dictionary<string,string> _CodeNames = new Dictionary<string, string>()
{
{"0.3.", "Shining Heaven"},
{"0.4.", "Blue Sunrise"}
};
private static string _ProgramCodeName
{
get
{
var versionParts = Application.ProductVersion.Split('.');
string name;
_CodeNames.TryGetValue($"{versionParts[0]}.{versionParts[1]}.", out name);
if (name != null)
return name;
return "Unnamed Version";
}
}
public static ERevision VersionRevision public static ERevision VersionRevision
{ {
@@ -208,6 +193,7 @@ namespace Vocaluxe.Base
{ {
get { return _Assembly.Name; } get { return _Assembly.Name; }
} }
private static string _Version private static string _Version
{ {
get get
@@ -216,38 +202,9 @@ namespace Vocaluxe.Base
} }
} }
private static string _GetVersionText()
{
string version = _Version + " (" + _Arch + ")";
string gitversion = Application.ProductVersion;
if (VersionRevision != ERevision.Release || gitversion.Split('-')[1] != "0")
{
version += " " + _GetVersionStatus() + String.Format(" ({0})", gitversion);
}
return version;
}
public static string GetFullVersionText() public static string GetFullVersionText()
{ {
string version = ProgramName; return ((AssemblyTitleAttribute)Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false).First()).Title;
if (_ProgramCodeName != "")
version += " \"" + _ProgramCodeName + "\"";
return version + " " + _GetVersionText();
}
private static string _GetVersionStatus()
{
string result = "";
if (VersionRevision != ERevision.Release)
result = Enum.GetName(typeof(ERevision), VersionRevision);
return result;
} }
public static float GetRenderAspect() public static float GetRenderAspect()
+1 -1
View File
@@ -126,10 +126,10 @@ namespace Vocaluxe.Base
string noCategoryName; string noCategoryName;
switch (CSongs.Sorter.SongSorting) switch (CSongs.Sorter.SongSorting)
{ {
case ESongSorting.TR_CONFIG_FOLDER:
case ESongSorting.TR_CONFIG_NONE: case ESongSorting.TR_CONFIG_NONE:
noCategoryName = CLanguage.Translate("TR_SCREENSONG_ALLSONGS"); noCategoryName = CLanguage.Translate("TR_SCREENSONG_ALLSONGS");
break; break;
case ESongSorting.TR_CONFIG_FOLDER:
case ESongSorting.TR_CONFIG_ARTIST: case ESongSorting.TR_CONFIG_ARTIST:
case ESongSorting.TR_CONFIG_ARTIST_LETTER: case ESongSorting.TR_CONFIG_ARTIST_LETTER:
case ESongSorting.TR_CONFIG_TITLE_LETTER: case ESongSorting.TR_CONFIG_TITLE_LETTER:
+73
View File
@@ -15,6 +15,7 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>. // along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion #endregion
using System;
using Vocaluxe.Lib.Video; using Vocaluxe.Lib.Video;
using VocaluxeLib; using VocaluxeLib;
@@ -61,6 +62,10 @@ namespace Vocaluxe.Base
public static CVideoStream Load(string videoFileName) public static CVideoStream Load(string videoFileName)
{ {
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
return _VideoDecoder.Load(videoFileName); return _VideoDecoder.Load(videoFileName);
} }
@@ -73,41 +78,109 @@ namespace Vocaluxe.Base
public static float GetLength(CVideoStream stream) public static float GetLength(CVideoStream stream)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
return _VideoDecoder.GetLength(stream); return _VideoDecoder.GetLength(stream);
} }
public static bool GetFrame(CVideoStream stream, float time) public static bool GetFrame(CVideoStream stream, float time)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
return _VideoDecoder.GetFrame(stream, time); return _VideoDecoder.GetFrame(stream, time);
} }
public static bool Skip(CVideoStream stream, float start, float gap) public static bool Skip(CVideoStream stream, float start, float gap)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
return _VideoDecoder.Skip(stream, start, gap); return _VideoDecoder.Skip(stream, start, gap);
} }
public static void SetLoop(CVideoStream stream, bool loop) public static void SetLoop(CVideoStream stream, bool loop)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
_VideoDecoder.SetLoop(stream, loop); _VideoDecoder.SetLoop(stream, loop);
} }
public static void Pause(CVideoStream stream) public static void Pause(CVideoStream stream)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
_VideoDecoder.Pause(stream); _VideoDecoder.Pause(stream);
} }
public static void Resume(CVideoStream stream) public static void Resume(CVideoStream stream)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
_VideoDecoder.Resume(stream); _VideoDecoder.Resume(stream);
} }
public static bool Finished(CVideoStream stream) public static bool Finished(CVideoStream stream)
{ {
if (stream == null)
{
throw new ArgumentException("stream is null");
}
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
return _VideoDecoder.Finished(stream); return _VideoDecoder.Finished(stream);
} }
public static void Update() public static void Update()
{ {
if (_VideoDecoder == null)
{
throw new NotSupportedException("_VideoDecoder is null (already closed?)");
}
_VideoDecoder.Update(); _VideoDecoder.Update();
} }
#endregion Interface #endregion Interface
+17 -3
View File
@@ -53,6 +53,10 @@ namespace Vocaluxe.Base
{ {
_VideoTimer.Reset(); _VideoTimer.Reset();
_Finished = false; _Finished = false;
if (_VideoStream == null)
{
return;
}
//CVideo.VdSkip(_VideoStream, 0f, 0f); //CVideo.VdSkip(_VideoStream, 0f, 0f);
_VideoTimer.Start(); _VideoTimer.Start();
CVideo.Resume(_VideoStream); CVideo.Resume(_VideoStream);
@@ -60,12 +64,19 @@ namespace Vocaluxe.Base
public void Pause() public void Pause()
{ {
CVideo.Pause(_VideoStream); if (_VideoStream != null)
{
CVideo.Pause(_VideoStream);
}
_VideoTimer.Stop(); _VideoTimer.Stop();
} }
public void Resume() public void Resume()
{ {
if (_VideoStream == null)
{
return;
}
CVideo.Resume(_VideoStream); CVideo.Resume(_VideoStream);
_VideoTimer.Start(); _VideoTimer.Start();
} }
@@ -92,7 +103,7 @@ namespace Vocaluxe.Base
public void PreLoad() public void PreLoad()
{ {
if (!_Loaded) if (!_Loaded || _VideoStream == null)
{ {
return; return;
} }
@@ -111,7 +122,10 @@ namespace Vocaluxe.Base
public void Close() public void Close()
{ {
CVideo.Close(ref _VideoStream); if (_VideoStream != null)
{
CVideo.Close(ref _VideoStream);
}
_Loaded = false; _Loaded = false;
_Finished = false; _Finished = false;
_VideoTimer.Reset(); _VideoTimer.Reset();
+7 -1
View File
@@ -51,7 +51,13 @@ namespace Vocaluxe.Base.Fonts
if (chr != ' ') if (chr != ' ')
{ {
//Gets exact height and width for drawing more than 1 char. But width is to small to draw char on bitmap as e.g. italic chars will get cropped //Gets exact height and width for drawing more than 1 char. But width is to small to draw char on bitmap as e.g. italic chars will get cropped
_BoundingBox = g.MeasureString(chrString, fo, -1, StringFormat.GenericTypographic); //See https://stackoverflow.com/questions/11708621/how-to-measure-width-of-a-string-precisely
StringFormat format = StringFormat.GenericTypographic;
RectangleF rect = new RectangleF(0, 0, 1000, 1000);
CharacterRange[] ranges = { new CharacterRange(0, chrString.Length) };
format.SetMeasurableCharacterRanges(ranges);
_BoundingBox = g.MeasureCharacterRanges(chrString, fo, rect, format)[0].GetBounds(g).Size;
// ReSharper disable CompareOfFloatsByEqualityOperator // ReSharper disable CompareOfFloatsByEqualityOperator
if (_BoundingBox.Height == 0) if (_BoundingBox.Height == 0)
// ReSharper restore CompareOfFloatsByEqualityOperator // ReSharper restore CompareOfFloatsByEqualityOperator
+9 -2
View File
@@ -116,13 +116,20 @@ namespace Vocaluxe
public static bool CheckRequirements() public static bool CheckRequirements()
{ {
#if WIN #if WIN
if (!_IsVC2012Installed()) if (!_IsVC2010Installed())
{
CLog.LogError(
"VC++ 2010 Redistributables are missing. Please install them first. \r\nDownload(x86): https://www.microsoft.com/de-de/download/details.aspx?id=5555 \r\nDownload(x64): https://www.microsoft.com/de-de/download/details.aspx?id=14632",
true, true);
return false;
}
/*if (!_IsVC2012Installed())
{ {
CLog.LogError( CLog.LogError(
"VC++ 2012 Redistributables are missing. Please install them first.\r\nDownload: http://www.microsoft.com/de-de/download/details.aspx?id=30679", "VC++ 2012 Redistributables are missing. Please install them first.\r\nDownload: http://www.microsoft.com/de-de/download/details.aspx?id=30679",
true, true); true, true);
return false; return false;
} }*/
/* /*
bool vc2008Installed = _IsVC2008Installed(); bool vc2008Installed = _IsVC2008Installed();
if (!vc2008Installed) if (!vc2008Installed)
+9 -3
View File
@@ -88,18 +88,24 @@
- Spectrum Analyzer (Record Screen and Player Selection Screen) - Spectrum Analyzer (Record Screen and Player Selection Screen)
- WiiMote Support - WiiMote Support
+ v0.3.0 Shining Heaven (reached: ??.0?.2013): + v0.3.0 Shining Heaven (release skipped):
- Party Mode Support - Party Mode Support
- Party Mode: Challenge Mode (with more than 2 player at once) - Party Mode: Challenge Mode (with more than 2 player at once)
- Party Mode: Challenge Medley Mode - Party Mode: Challenge Medley Mode
- Party Mode: Tic, Tac, Toe - Party Mode: Tic, Tac, Toe
- GStreamer Audio Support - GStreamer Audio Support
- Smartphone control (webserver)
- Dynamic cover generation
- New Song View: List
+ v0.4.0 (reached: ??.??.201?): + v0.4.0 Blue Sunrise (reached: ??.??.201?):
- A lot of restructered and rewritten lines of code
- Some minor and bigger improvements and additions
- Updated audio and video libs
- New infrastructure: CI with nightly builds, new homepage, updated installer
----------------- -----------------
just some ideas: just some ideas:
- Installer
- More Song List Views - More Song List Views
- Tile Board: Show title and artist under each tile - Tile Board: Show title and artist under each tile
- OnScreen Keyboard? - OnScreen Keyboard?
+27 -9
View File
@@ -463,10 +463,19 @@ namespace Vocaluxe.Lib.Database
if (reader != null && reader.HasRows) if (reader != null && reader.HasRows)
{ {
reader.Read(); reader.Read();
artist = reader.GetString(0);
title = reader.GetString(1); if (!reader.IsDBNull(0))
numPlayed = reader.GetInt32(2); artist = reader.GetString(0);
dateAdded = new DateTime(reader.GetInt64(3));
if (!reader.IsDBNull(1))
title = reader.GetString(1);
if (!reader.IsDBNull(2))
numPlayed = reader.GetInt32(2);
if (!reader.IsDBNull(3))
dateAdded = new DateTime(reader.GetInt64(3));
reader.Dispose(); reader.Dispose();
return true; return true;
} }
@@ -604,7 +613,7 @@ namespace Vocaluxe.Lib.Database
{ {
//Check for USDX 1.1 DB //Check for USDX 1.1 DB
_CreateHighscoreDBV1(filePath); _CreateHighscoreDBV1(filePath);
result &= !_ConvertFrom110(filePath); result &= _ConvertFrom110(filePath);
result &= _UpdateDatabase(1, connection); result &= _UpdateDatabase(1, connection);
result &= _UpdateDatabase(2, connection); result &= _UpdateDatabase(2, connection);
} }
@@ -733,13 +742,22 @@ namespace Vocaluxe.Lib.Database
transaction.Commit(); transaction.Commit();
//Delete old tables after conversion //Delete old tables after conversion
command.CommandText = "DROP TABLE US_Scores;"; command.CommandText = "DROP TABLE IF EXISTS us_scores;";
command.ExecuteNonQuery(); command.ExecuteNonQuery();
command.CommandText = "DROP TABLE US_Songs;"; command.CommandText = "DROP TABLE IF EXISTS us_songs;";
command.ExecuteNonQuery(); command.ExecuteNonQuery();
command.CommandText = "DROP TABLE us_statistics_info;"; command.CommandText = "DROP TABLE IF EXISTS us_statistics_info;";
command.ExecuteNonQuery();
command.CommandText = "DROP TABLE IF EXISTS us_users_info;";
command.ExecuteNonQuery();
command.CommandText = "DROP TABLE IF EXISTS us_webs;";
command.ExecuteNonQuery();
command.CommandText = "DROP TABLE IF EXISTS us_webs_stats;";
command.ExecuteNonQuery(); command.ExecuteNonQuery();
//This versioning is not used in Vocaluxe so reset it to 0 //This versioning is not used in Vocaluxe so reset it to 0
@@ -918,7 +936,7 @@ namespace Vocaluxe.Lib.Database
if (currentVersion < 2) if (currentVersion < 2)
updated &= _ConvertV1toV2(connection); updated &= _ConvertV1toV2(connection);
if (currentVersion < 3) else if (currentVersion < 3)
updated &= _ConvertV2toV3(connection); updated &= _ConvertV2toV3(connection);
return updated; return updated;
+3 -3
View File
@@ -556,13 +556,13 @@ namespace Vocaluxe.Lib.Draw
/// </summary> /// </summary>
public void MakeScreenShot() public void MakeScreenShot()
{ {
string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.bmp"); string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.png");
//create a surface of the frame //create a surface of the frame
using (Surface surface = _Device.GetBackBuffer(0, 0)) using (Surface surface = _Device.GetBackBuffer(0, 0))
{ {
var screen = new Bitmap(Surface.ToStream(surface, ImageFileFormat.Bmp)); var screen = new Bitmap(Surface.ToStream(surface, ImageFileFormat.Png));
screen.Save(file, ImageFormat.Bmp); screen.Save(file, ImageFormat.Png);
screen.Dispose(); screen.Dispose();
} }
} }
+1 -1
View File
@@ -303,7 +303,7 @@ namespace Vocaluxe.Lib.Draw
public void MakeScreenShot() public void MakeScreenShot()
{ {
string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.bmp"); string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.png");
_Backbuffer.Save(file, ImageFormat.Png); _Backbuffer.Save(file, ImageFormat.Png);
} }
+2 -2
View File
@@ -291,7 +291,7 @@ namespace Vocaluxe.Lib.Draw
public void MakeScreenShot() public void MakeScreenShot()
{ {
string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.bmp"); string file = CHelper.GetUniqueFileName(Path.Combine(CSettings.DataFolder, CSettings.FolderNameScreenshots), "Screenshot.png");
int width = GetScreenWidth(); int width = GetScreenWidth();
int height = GetScreenHeight(); int height = GetScreenHeight();
@@ -304,7 +304,7 @@ namespace Vocaluxe.Lib.Draw
screen.UnlockBits(bmpData); screen.UnlockBits(bmpData);
screen.RotateFlip(RotateFlipType.RotateNoneFlipY); screen.RotateFlip(RotateFlipType.RotateNoneFlipY);
screen.Save(file, ImageFormat.Bmp); screen.Save(file, ImageFormat.Png);
} }
} }
+27 -9
View File
@@ -74,12 +74,23 @@ namespace Vocaluxe.Lib.Sound
} }
lock (_Mutex) lock (_Mutex)
{ {
if (_Disposed)
return;
Debug.Assert(_RefCount > 0); Debug.Assert(_RefCount > 0);
_RefCount--; _RefCount--;
if (_RefCount == 0) if (_RefCount == 0)
PortAudio.Pa_Terminate(); {
try
{
PortAudio.Pa_Terminate();
}
catch (Exception ex)
{
CLog.LogError(errorText: $"Error disposing PortAudio: {ex.Message}", e: ex);
}
}
_Disposed = true;
} }
_Disposed = true;
} }
public void Dispose() public void Dispose()
@@ -100,11 +111,11 @@ namespace Vocaluxe.Lib.Sound
double sampleRate, uint framesPerBuffer, PortAudio.PaStreamFlags streamFlags, double sampleRate, uint framesPerBuffer, PortAudio.PaStreamFlags streamFlags,
PortAudio.PaStreamCallbackDelegate streamCallback, IntPtr userData) PortAudio.PaStreamCallbackDelegate streamCallback, IntPtr userData)
{ {
if (_Disposed)
throw new ObjectDisposedException("PortAudioHandle already disposed");
lock (_Mutex) lock (_Mutex)
{ {
if (_Disposed)
throw new ObjectDisposedException("PortAudioHandle already disposed");
PortAudio.PaError res = PortAudio.Pa_OpenStream(out stream, ref inputParameters, ref outputParameters, sampleRate, framesPerBuffer, streamFlags, streamCallback, PortAudio.PaError res = PortAudio.Pa_OpenStream(out stream, ref inputParameters, ref outputParameters, sampleRate, framesPerBuffer, streamFlags, streamCallback,
userData); userData);
if (res == PortAudio.PaError.paNoError) if (res == PortAudio.PaError.paNoError)
@@ -157,12 +168,19 @@ namespace Vocaluxe.Lib.Sound
public void CloseStream(IntPtr stream) public void CloseStream(IntPtr stream)
{ {
if (_Disposed)
throw new ObjectDisposedException("PortAudioHandle already disposed");
lock (_Mutex) lock (_Mutex)
{ {
PortAudio.Pa_CloseStream(stream); if (_Disposed)
throw new ObjectDisposedException("PortAudioHandle already disposed");
try
{
PortAudio.Pa_CloseStream(stream);
}
catch (Exception ex)
{
CLog.LogError(errorText:$"Error closing stream: {ex.Message}", e:ex);
}
_Streams.Remove(stream); _Streams.Remove(stream);
} }
} }
@@ -70,14 +70,20 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
{ {
get get
{ {
if (_Element != null)
if (_Element == null || (_Element.CurrentState == State.Paused && _Element.PendingState != State.VoidPending))
{ {
long position; return _Position;
if (!_Element.QueryPosition(Format.Time, out position))
CLog.LogError("Could not query position");
else
_Position = ((float)position / Constants.SECOND);
} }
long position;
if (!_Element.QueryPosition(Format.Time, out position))
CLog.LogError("Could not query position");
else
_Position = ((float)position / Constants.SECOND);
return _Position; return _Position;
} }
set set
@@ -235,6 +241,11 @@ namespace Vocaluxe.Lib.Sound.Playback.GstreamerSharp
element = _Element; element = _Element;
_Element = null; //Now everything "seems" closed _Element = null; //Now everything "seems" closed
} }
// Should not be needed but we had an error report (#226) - so we double check here to prevent a crash
if (element == null)
return;
if (element.TargetState == State.Playing) if (element.TargetState == State.Playing)
element.SetState(State.Paused); //Stop output element.SetState(State.Paused); //Stop output
if (_CloseStreamListener != null) if (_CloseStreamListener != null)
@@ -16,6 +16,8 @@
#endregion #endregion
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using Vocaluxe.Base; using Vocaluxe.Base;
@@ -142,9 +144,13 @@ namespace Vocaluxe.Lib.Sound.Record.PortAudio
foreach (IntPtr handle in _RecHandle) foreach (IntPtr handle in _RecHandle)
{ {
PortAudioSharp.PortAudio.Pa_StopStream(handle); if (handle != IntPtr.Zero)
PortAudioSharp.PortAudio.Pa_CloseStream(handle); {
PortAudioSharp.PortAudio.Pa_StopStream(handle);
PortAudioSharp.PortAudio.Pa_CloseStream(handle);
}
} }
_RecHandle = new IntPtr[_Devices.Count];
return true; return true;
} }
@@ -153,13 +159,17 @@ namespace Vocaluxe.Lib.Sound.Record.PortAudio
/// </summary> /// </summary>
public override void Close() public override void Close()
{ {
if (_RecHandle != null) if (_RecHandle != null && _RecHandle.Length > 0)
{ {
foreach (IntPtr handle in _RecHandle) foreach (IntPtr handle in _RecHandle)
{ {
if (handle != IntPtr.Zero) if (handle != IntPtr.Zero)
{
_PaHandle.CloseStream(handle); _PaHandle.CloseStream(handle);
}
} }
_RecHandle = new IntPtr[_Devices.Count];
} }
if (_PaHandle != null) if (_PaHandle != null)
{ {
+58 -58
View File
@@ -58,7 +58,22 @@ namespace Vocaluxe.Lib.Video.Acinerella
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct SACFileInfo public struct SACFileInfo
{ {
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public readonly string title;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public readonly string author;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public readonly string copyright;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public readonly string comment;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public readonly string album;
public readonly int year;
public readonly int track;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public readonly string genre;
public readonly Int64 Duration; public readonly Int64 Duration;
public readonly int Bitrate;
} }
// TAc_instance represents an Acinerella instance. Each instance can open and // TAc_instance represents an Acinerella instance. Each instance can open and
@@ -105,14 +120,17 @@ namespace Vocaluxe.Lib.Video.Acinerella
} }
// Contains information about an Acinerella stream. // Contains information about an Acinerella stream.
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Explicit)]
public struct SACStreamInfo public struct SACStreamInfo
{ {
//Contains the type of the stream. //Contains the type of the stream.
[FieldOffset(0)]
public readonly EACStreamType StreamType; public readonly EACStreamType StreamType;
//Additional info about the stream //Additional info about the stream
[FieldOffset(8)]
public SACAudioStreamInfo AudioInfo; public SACAudioStreamInfo AudioInfo;
[FieldOffset(8)]
public SACVideoStreamInfo VideoInfo; public SACVideoStreamInfo VideoInfo;
} }
@@ -128,7 +146,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
//The timecode of the currently decoded picture in seconds. //The timecode of the currently decoded picture in seconds.
public readonly double Timecode; public readonly double Timecode;
public readonly double VideoClock; //public readonly double VideoClock;
//Contains information about the stream the decoder is attached to. //Contains information about the stream the decoder is attached to.
public SACStreamInfo StreamInfo; public SACStreamInfo StreamInfo;
@@ -219,14 +237,14 @@ namespace Vocaluxe.Lib.Video.Acinerella
// Initializes an Acinerella instance. // Initializes an Acinerella instance.
//function ac_init(): PAc_instance; cdecl; external ac_dll; //function ac_init(): PAc_instance; cdecl; external ac_dll;
[DllImport(_AcDll, EntryPoint = "ac_init", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)] [DllImport(_AcDll, EntryPoint = "ac_init_of", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
private static extern IntPtr _ac_init(); private static extern IntPtr _ac_init(EACOutputFormat outputFormat);
public static IntPtr AcInit() public static IntPtr AcInit()
{ {
lock (_Lock) lock (_Lock)
{ {
return _ac_init(); return _ac_init(EACOutputFormat.ACOutputRGBA32);
} }
} }
@@ -243,52 +261,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
} }
} }
// Opens a media file. [DllImport(_AcDll, EntryPoint = "ac_open_file", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
// @param(inst specifies the Acinerella Instance the stream should be opened for)
// @param(sender specifies a pointer that is sent to all callback functions to
// allow you to do object orientated programming. May be NULL.)
// @param(open_proc specifies the callback function that is called, when the
// media file is opened. May be NULL.)
// @param(close_proc specifies the callback function that is called when the media
// file is closed. May be NULL.)
/*function ac_open(
inst: PAc_instance;
sender: Pointer;
open_proc: TAc_openclose_callback;
read_proc: TAc_read_callback;
seek_proc: TAc_seek_callback;
close_proc: TAc_openclose_callback;
proberesult: PAc_proberesult): integer; cdecl; external ac_dll;
*/
/*
[DllImport(AcDll, EntryPoint = "ac_open", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
private static extern Int32 _ac_open(
IntPtr PAc_instance,
IntPtr sender,
TAc_openclose_callback open_proc,
TAc_read_callback read_proc,
TAc_seek_callback seek_proc,
TAc_openclose_callback close_proc,
IntPtr proberesult
);
public static Int32 ac_open(
IntPtr PAc_instance,
IntPtr sender,
TAc_openclose_callback open_proc,
TAc_read_callback read_proc,
TAc_seek_callback seek_proc,
TAc_openclose_callback close_proc,
IntPtr proberesult
)
{
lock (_GetLockToken(pAcDecoder))
{
return _ac_open(PAc_instance, sender, open_proc, read_proc, seek_proc, close_proc, proberesult);
}
}*/
[DllImport(_AcDll, EntryPoint = "ac_open", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private static extern Int32 _ac_open2(IntPtr pAcInstance, string filename); private static extern Int32 _ac_open2(IntPtr pAcInstance, string filename);
// ReSharper disable UnusedMethodReturnValue.Global // ReSharper disable UnusedMethodReturnValue.Global
@@ -337,28 +310,55 @@ namespace Vocaluxe.Lib.Video.Acinerella
[DllImport(_AcDll, EntryPoint = "ac_free_package", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)] [DllImport(_AcDll, EntryPoint = "ac_free_package", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
public static extern void ac_free_package(IntPtr pAcPackage); public static extern void ac_free_package(IntPtr pAcPackage);
[DllImport(_AcDll, EntryPoint = "ac_create_video_decoder", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)] [DllImport(_AcDll, EntryPoint = "ac_create_decoder", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
private static extern IntPtr _ac_create_video_decoder(IntPtr pAcInstance); private static extern IntPtr _ac_create_decoder(IntPtr pAcInstance, int i);
public static IntPtr AcCreateVideoDecoder(IntPtr pAcInstance) public static IntPtr AcCreateVideoDecoder(IntPtr pAcInstance)
{ {
lock (_GetLockToken(pAcInstance)) lock (_GetLockToken(pAcInstance))
{ {
return _ac_create_video_decoder(pAcInstance); var firstVideoStreamId = _GetFirstStreamByType(pAcInstance, EACStreamType.ACStreamTypeVideo);
if (firstVideoStreamId < 0)
{
throw new ArgumentException("The instace does not contain a video stream.");
}
return _ac_create_decoder(pAcInstance, firstVideoStreamId);
} }
} }
[DllImport(_AcDll, EntryPoint = "ac_create_audio_decoder", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
private static extern IntPtr _ac_create_audio_decoder(IntPtr pAcInstance);
public static IntPtr AcCreateAudioDecoder(IntPtr pAcInstance) public static IntPtr AcCreateAudioDecoder(IntPtr pAcInstance)
{ {
lock (_GetLockToken(pAcInstance)) lock (_GetLockToken(pAcInstance))
{ {
return _ac_create_audio_decoder(pAcInstance); var firstAudioStreamId = _GetFirstStreamByType(pAcInstance, EACStreamType.ACStreamTypeAudio);
if (firstAudioStreamId < 0)
{
throw new ArgumentException("The instace does not contain a audio stream.");
}
return _ac_create_decoder(pAcInstance, firstAudioStreamId);
} }
} }
private static int _GetFirstStreamByType(IntPtr pAcInstance, EACStreamType type)
{
var instance = (SACInstance)Marshal.PtrToStructure(pAcInstance, typeof(SACInstance));
int currentStream = 0;
SACStreamInfo currentStreamInfo;
while (currentStream < instance.StreamCount)
{
AcGetStreamInfo(pAcInstance, currentStream, out currentStreamInfo);
if (currentStreamInfo.StreamType == type)
return currentStream;
currentStream++;
}
return -1;
}
// Frees an created decoder. // Frees an created decoder.
//procedure ac_free_decoder(pDecoder: PAc_decoder); cdecl; external ac_dll; //procedure ac_free_decoder(pDecoder: PAc_decoder); cdecl; external ac_dll;
[DllImport(_AcDll, EntryPoint = "ac_free_decoder", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)] [DllImport(_AcDll, EntryPoint = "ac_free_decoder", ExactSpelling = false, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
+64 -11
View File
@@ -58,6 +58,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
private readonly AutoResetEvent _EvNoMoreFrames = new AutoResetEvent(false); private readonly AutoResetEvent _EvNoMoreFrames = new AutoResetEvent(false);
private bool _IsSleeping; private bool _IsSleeping;
private int _WaitCount; private int _WaitCount;
private bool _DropSeekEnabled = true; // Used to fallback to frame skipping if seek is failing once on this file
public float Length { get; private set; } public float Length { get; private set; }
public bool Loop { get; set; } public bool Loop { get; set; }
@@ -80,6 +81,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
var instance = (SACInstance)Marshal.PtrToStructure(_Instance, typeof(SACInstance)); var instance = (SACInstance)Marshal.PtrToStructure(_Instance, typeof(SACInstance));
Length = instance.Info.Duration / 1000f; Length = instance.Info.Duration / 1000f;
bool ok = instance.Opened && Length > 0.001f; bool ok = instance.Opened && Length > 0.001f;
_DropSeekEnabled = true;
if (ok) if (ok)
return true; return true;
_Free(); _Free();
@@ -333,6 +335,8 @@ namespace Vocaluxe.Lib.Video.Acinerella
private void _Decode() private void _Decode()
{ {
const int minFrameDropCount = 4; const int minFrameDropCount = 4;
// With => seekThreshold frames to drop use seek instead of skip
const int seekThreshold = 25; // 25 frames = 0.5 second with _FrameDuration = 0.02f
if (_NoMoreFrames) if (_NoMoreFrames)
return; return;
@@ -345,17 +349,16 @@ namespace Vocaluxe.Lib.Video.Acinerella
bool hasFrameDecoded = false; bool hasFrameDecoded = false;
if (dropFrame) if (dropFrame)
{ {
try
{
var frameDropCount = (int)Math.Ceiling(timeDifference / _FrameDuration); var frameDropCount = (int)Math.Ceiling(timeDifference / _FrameDuration);
// Add 1 dropped frame per 16 frames (Power of 2 -> Div is fast) as skipping takes time too and we don't want to skip again if (!_DropSeekEnabled || frameDropCount < seekThreshold)
frameDropCount += frameDropCount / 16; {
hasFrameDecoded = CAcinerella.AcSkipFrames(_Instance, _Videodecoder, frameDropCount); hasFrameDecoded = _DropWithSkip(frameDropCount);
} }
catch (Exception) else
{ {
CLog.LogError("Error AcSkipFrame " + _FileName); hasFrameDecoded = _DropWithSeek(videoTime, frameDropCount);
} }
} }
if (!hasFrameDecoded) if (!hasFrameDecoded)
@@ -383,12 +386,61 @@ namespace Vocaluxe.Lib.Video.Acinerella
} }
} }
private bool _DropWithSeek(float videoTime, int frameDropCount)
{
bool hasFrameDecoded = false;
try
{
hasFrameDecoded = CAcinerella.AcSeek(_Videodecoder, 0, (long)videoTime * 1000L);
}
catch (Exception)
{
CLog.LogError("Error AcSeek " + _FileName);
}
if (!hasFrameDecoded)
{
// Fallback to frame skipping
_DropSeekEnabled = false;
hasFrameDecoded = _DropWithSkip(frameDropCount);
}
return hasFrameDecoded;
}
private bool _DropWithSkip(int frameDropCount)
{
bool hasFrameDecoded = false;
// Add 1 dropped frame per 16 frames (Power of 2 -> Div is fast) as skipping takes time too and we don't want to skip again
frameDropCount += frameDropCount / 16;
try
{
hasFrameDecoded = CAcinerella.AcSkipFrames(_Instance, _Videodecoder, frameDropCount);
}
catch (Exception)
{
CLog.LogError("Error AcSkipFrame " + _FileName);
}
return hasFrameDecoded;
}
//Copies a frame to the buffer but does not set it as 'written' //Copies a frame to the buffer but does not set it as 'written'
//Returns true if frame data is now in buffer //Returns true if frame data is now in buffer
private bool _CopyDecodedFrameToBuffer() private bool _CopyDecodedFrameToBuffer()
{ {
bool result; bool result;
var decoder = (SACDecoder)Marshal.PtrToStructure(_Videodecoder, typeof(SACDecoder)); SACDecoder decoder;
try
{
decoder = (SACDecoder)Marshal.PtrToStructure(_Videodecoder, typeof(SACDecoder));
}
catch (Exception e)
{
CLog.LogError("Couldn't copy the frame to the managed environment.", false, false, e);
return false;
}
if (decoder.Buffer != IntPtr.Zero) if (decoder.Buffer != IntPtr.Zero)
{ {
_LastDecodedTime = (float)decoder.Timecode; _LastDecodedTime = (float)decoder.Timecode;
@@ -406,6 +458,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
{ {
_Free(); _Free();
Stop(); Stop();
return;
} }
while (!_Terminated) while (!_Terminated)
File diff suppressed because it is too large. Load diff
+457 -149
View File
@@ -15,8 +15,8 @@
along with Acinerella. If not, see <http://www.gnu.org/licenses/>. along with Acinerella. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef VIDEOPLAY_H #ifndef _ACINERELLA_H_
#define VIDEOPLAY_H #define _ACINERELLA_H_
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
@@ -24,187 +24,495 @@
#ifdef _WIN32 #ifdef _WIN32
#define CALL_CONVT __cdecl #define CALL_CONVT __cdecl
#define EXTERN extern __declspec(dllexport)
#else #else
#define CALL_CONVT #define CALL_CONVT
#define EXTERN extern
#endif #endif
typedef long long int64; /**
* Defines the type of an Acinerella media stream. Currently only video and
* audio streams are supported, subtitle and data streams will be marked as
* "unknown".
*/
typedef enum _ac_stream_type {
/**
* The type of the media stream is not known. This kind of stream can not be
* decoded.
*/
AC_STREAM_TYPE_VIDEO = 0,
/*Defines the type of an Acinerella media stream. Currently only video and /**
audio streams are supported, subtitle and data streams will be marked as * This media stream is a video stream.
"unknown".*/ */
enum _ac_stream_type { AC_STREAM_TYPE_AUDIO = 1,
/*The type of the media stream is not known. This kind of stream can not be
decoded.*/
AC_STREAM_TYPE_VIDEO = 0,
/*This media stream is a video stream.*/
AC_STREAM_TYPE_AUDIO = 1,
/*This media stream is an audio stream.*/
AC_STREAM_TYPE_UNKNOWN = -1
};
typedef enum _ac_stream_type ac_stream_type; /**
* This media stream is an audio stream.
*/
AC_STREAM_TYPE_UNKNOWN = -1
} ac_stream_type;
/*Defines the type of an Acinerella media decoder.*/ /**
enum _ac_decoder_type { * Defines the type of an Acinerella media decoder.
/*This decoder is used to decode a video stream.*/ */
AC_DECODER_TYPE_VIDEO = 0, typedef enum _ac_decoder_type {
/* This decoder is used to decode an audio stram.*/ /**
AC_DECODER_TYPE_AUDIO = 1 * This decoder is used to decode a video stream.
}; */
AC_DECODER_TYPE_VIDEO = 0,
typedef enum _ac_decoder_type ac_decoder_type; /**
* This decoder is used to decode an audio stram.
*/
AC_DECODER_TYPE_AUDIO = 1
} ac_decoder_type;
/*Defines the format video/image data is outputted in*/ /**
enum _ac_output_format { * Defines the format video/image data is returned in.
AC_OUTPUT_RGB24 = 0, */
AC_OUTPUT_BGR24 = 1, typedef enum _ac_output_format {
AC_OUTPUT_RGBA32 = 2, AC_OUTPUT_RGB24 = 0,
AC_OUTPUT_BGRA32 = 3 AC_OUTPUT_BGR24 = 1,
}; AC_OUTPUT_RGBA32 = 2,
AC_OUTPUT_BGRA32 = 3,
AC_OUTPUT_YUV420P = 4,
AC_OUTPUT_UYVY422 = 5,
AC_OUTPUT_YUYV422 = 6
} ac_output_format;
typedef enum _ac_output_format ac_output_format; /*Contains information about the whole file/stream that has been opened. Default
values are ""
/*Contains information about the whole file/stream that has been opened. Default values are ""
for strings and -1 for integer values.*/ for strings and -1 for integer values.*/
struct _ac_file_info { typedef struct _ac_file_info {
/*Length of the file*/ /**
int64_t duration; * Title of the media file
}; */
char title[512];
typedef struct _ac_file_info ac_file_info; /**
typedef ac_file_info* lp_ac_file_info; * Author or artist of the media file.
*/
char author[512];
/*TAc_instance represents an Acinerella instance. Each instance can open and /**
decode one file at once. There can be only 26 Acinerella instances opened at * Copyright information.
once.*/ */
struct _ac_instance { char copyright[512];
/*If true, the instance currently opened a media file.*/
bool opened;
/*Contains the count of streams the media file has. This value is available
after calling the ac_open function.*/
int stream_count;
/*Set this value to change the image output format */
ac_output_format output_format;
/*Contains information about the opened stream/file*/
ac_file_info info;
};
typedef struct _ac_instance ac_instance; /**
/*Pointer on the Acinerella instance record.*/ * Comment stored in the file.
typedef ac_instance* lp_ac_instance; */
char comment[512];
/*Contains information about an Acinerella video stream.*/ /**
* Album the media file is from.
*/
char album[512];
/**
* Year in which the media file was created.
*/
int year;
/**
* Track number.
*/
int track;
/**
* Genre of the media file.
*/
char genre[32];
/**
* Length of the file in milliseconds.
*/
int64_t duration;
/**
* Bitrate of the file.
*/
int bitrate;
} ac_file_info;
typedef ac_file_info *lp_ac_file_info;
/**
* ac_instance represents an Acinerella instance. Each instance can open and
* decode one file at once.
*/
typedef struct _ac_instance {
/**
* If true, the instance currently opened a media file.
*/
bool opened;
/**
* Contains the count of streams the media file has. This value is available
* after calling the ac_open function.
*/
int stream_count;
/**
* Set this value to change the image output format
*/
ac_output_format output_format;
/**
* Contains information about the opened stream/file
*/
ac_file_info info;
} ac_instance;
/**
* Pointer on the Acinerella instance record.
*/
typedef ac_instance *lp_ac_instance;
/**
* Contains information about an Acinerella video stream.
*/
struct _ac_video_stream_info { struct _ac_video_stream_info {
/*The width of one frame.*/ /**
int frame_width; * The width of one frame.
/*The height of one frame.*/ */
int frame_height; int frame_width;
/*The width of one pixel. 1.07 for 4:3 format, 1,42 for the 16:9 format*/
float pixel_aspect;
/*Frames per second that should be played.*/
double frames_per_second;
};
typedef struct _ac_video_stream_info ac_video_stream_info;
/*Contains information about an Acinerella audio stream.*/
struct _ac_audio_stream_info {
/*Samples per second. Default values are 44100 or 48000.*/
int samples_per_second;
/*Bits per sample. Can be 8 or 16 Bit.*/
int bit_depth;
/*Count of channels in the audio stream.*/
int channel_count;
};
typedef struct _ac_audio_stream_info ac_audio_stream_info;
/**
* The height of one frame.
*/
int frame_height;
/**
* The width of one pixel. 1.07 for 4:3 format, 1,42 for the 16:9 format
*/
float pixel_aspect;
/**
* Frames per second that should be played.
*/
double frames_per_second;
};
/**
* Contains information about an Acinerella audio stream.
*/
struct _ac_audio_stream_info {
/**
* Samples per second. Default values are 44100 or 48000.
*/
int samples_per_second;
/**
* Bits per sample. Can be 8, 16 or 32 Bit. In the latter case the data is
* in floating point format.
*/
int bit_depth;
/**
* Count of channels in the audio stream.
*/
int channel_count;
};
/**
* Additional info about the stream - use "video_info" when the stream
* is an video stream, "audio_info" when the stream is an audio stream.
*/
union _ac_additional_stream_info {
struct _ac_audio_stream_info audio_info;
struct _ac_video_stream_info video_info;
};
/*Contains information about an Acinerella stream.*/ /*Contains information about an Acinerella stream.*/
struct _ac_stream_info { typedef struct _ac_stream_info {
/*Contains the type of the stream.*/ /**
ac_stream_type stream_type; * Contains the type of the stream.
ac_audio_stream_info audio_info; */
ac_video_stream_info video_info; ac_stream_type stream_type;
};
typedef struct _ac_stream_info ac_stream_info; /**
/*Pointer on TAc_stream_info*/ * Additional data depending on the stream type. Either access the
typedef ac_stream_info* lp_ac_stream_info; * "audio_info" or the "video_info" field, depending on the value stored in
* the "stream_type" member.
*/
union _ac_additional_stream_info additional_info;
} ac_stream_info;
/*Contains information about an Acinerella video/audio decoder.*/ /**
struct _ac_decoder { * Pointer on ac_stream_info
/*Pointer on the Acinerella instance*/ */
lp_ac_instance pacInstance; typedef ac_stream_info *lp_ac_stream_info;
/*Contains the type of the decoder.*/
ac_decoder_type type;
/*The timecode of the currently decoded picture in seconds */ /**
double timecode; * Contains information about an Acinerella video/audio decoder.
*/
typedef struct _ac_decoder {
/**
* Pointer on the Acinerella instance.
*/
lp_ac_instance pacInstance;
double video_clock; /**
* Contains the type of the decoder.
*/
ac_decoder_type type;
/*Contains information about the stream the decoder is attached to.*/ /**
ac_stream_info stream_info; * The timecode of the currently decoded picture in seconds.
/*The index of the stream the decoder is attached to.*/ */
int stream_index; double timecode;
/*Pointer to the buffer which contains the data.*/ /**
char *pBuffer; * Contains information about the stream the decoder is attached to.
/*Size of the data in the buffer.*/ */
int buffer_size; ac_stream_info stream_info;
};
typedef struct _ac_decoder ac_decoder; /**
/*Pointer on TAc_decoder.*/ * The index of the stream the decoder is attached to.
typedef ac_decoder* lp_ac_decoder; */
int stream_index;
/*Contains information about an Acinerella package.*/ /**
struct _ac_package { * Pointer to the buffer which contains the data.
/*The stream the package belongs to.*/ */
int stream_index; uint8_t *pBuffer;
};
typedef struct _ac_package ac_package; /**
/*Pointer on TAc_package*/ * Size of the data in the buffer.
typedef ac_package* lp_ac_package; */
int buffer_size;
} ac_decoder;
/*Initializes an Acinerella instance.*/ typedef ac_decoder *lp_ac_decoder;
extern lp_ac_instance CALL_CONVT ac_init(void);
extern void CALL_CONVT ac_free(lp_ac_instance pacInstance);
/*Opens a media file.*/ /**
* Contains information about an Acinerella package.
*/
typedef struct _ac_package {
/*The stream the package belongs to.*/
int stream_index;
} ac_package;
extern int CALL_CONVT ac_open2( typedef ac_package *lp_ac_package;
lp_ac_instance pacInstance,
const char* filename
);
/*Closes an opened media file.*/ typedef void *lp_ac_proberesult;
extern void CALL_CONVT ac_close(lp_ac_instance pacInstance);
/*Stores information in "pInfo" about stream number "nb".*/ /**
extern void CALL_CONVT ac_get_stream_info(lp_ac_instance pacInstance, int nb, lp_ac_stream_info info); * Callback function used to ask the application to read data. Should return
* the number of bytes read or an value smaller than zero if an error occured.
*/
typedef int (CALL_CONVT *ac_read_callback)(void *sender, uint8_t *buf,
int size);
/*Reads a package from an opened media file.*/ /**
extern lp_ac_package CALL_CONVT ac_read_package(lp_ac_instance pacInstance); * Callback function used to ask the application to seek.
/*Frees a package that has been read.*/ *
extern void CALL_CONVT ac_free_package(lp_ac_package pPackage); * @param sender is the pointer specified in ac_open.
* @param pos is the position to which the stream should be seeked.
* @param whence specifies whether the seeking should be relative to the
* beginning of the file (0, SEEK_SET), relative to the current location (1,
* SEEK_CUR), or relative to the end of the file (2, SEEK_END)
* @return 0 if the function succeeds, -1 on failure.
*/
typedef int64_t (CALL_CONVT *ac_seek_callback)(void *sender, int64_t pos,
int whence);
extern lp_ac_decoder CALL_CONVT ac_create_audio_decoder(lp_ac_instance pacInstance); /**
extern lp_ac_decoder CALL_CONVT ac_create_video_decoder(lp_ac_instance pacInstance); * Callback function that is used to notify the application when the data stream
/*Frees an created decoder.*/ * is opened or closed. For example the file pointer should be resetted to zero
extern void CALL_CONVT ac_free_decoder(lp_ac_decoder pDecoder); * when the "open" function is called.
/*Decodes a package using the specified decoder. The decodec data is stored in the */
"buffer" property of the decoder.*/ typedef int (CALL_CONVT *ac_openclose_callback)(void *sender);
extern int CALL_CONVT ac_decode_package(lp_ac_package pPackage, lp_ac_decoder pDecoder);
extern int CALL_CONVT ac_drop_decode_package(lp_ac_package pPackage, lp_ac_decoder pDecoder);
extern int CALL_CONVT ac_get_audio_frame(lp_ac_instance pacInstance, lp_ac_decoder pDecoder); /**
extern int CALL_CONVT ac_get_frame(lp_ac_instance pacInstance, lp_ac_decoder pDecoder); * Initializes an Acinerella instance.
extern int CALL_CONVT ac_skip_frames(lp_ac_instance pacInstance, lp_ac_decoder pDecoder, int num); *
* @return a pointer at an acinerella instance. The instance must be freed using
* ac_free.
*/
EXTERN lp_ac_instance CALL_CONVT ac_init(void);
/**
* Initializes an Acinerella instance with a specific output format.
*
* @return a pointer at an acinerella instance. The instance must be freed using
* ac_free.
*/
EXTERN lp_ac_instance CALL_CONVT ac_init_of(ac_output_format outputFormat);
/**
* Frees a previously created Acinerella instance.
*
* @param pacInstance is the Acinerella instance that should be freed.
*/
EXTERN void CALL_CONVT ac_free(lp_ac_instance pacInstance);
/**
* Opens a media stream.
*
* @param inst specifies the Acinerella Instance the stream should be opened
* for.
* @param sender specifies a pointer that is sent to all callback functions to
* allow you to do object orientated programming. May be NULL.
* @param open_proc specifies the callback function that is called, when the
* media file is opened. May be NULL.
* @param seek_proc specifies the callback function that is called, when the
* ffmpeg decoder wants to seek in the file. May be NULL.
* @param close_proc specifies the callback function that is called when the
* media file is closed. May be NULL.
* @param proberesult is a pointer at a structure previously returned by
* ac_probe_input_buffer. May be NULL.
*/
EXTERN int CALL_CONVT
ac_open(lp_ac_instance pacInstance, void *sender,
ac_openclose_callback open_proc, ac_read_callback read_proc,
ac_seek_callback seek_proc, ac_openclose_callback close_proc,
lp_ac_proberesult proberesult);
/**
* Opens a media file.
*
* @param inst specifies the Acinerella Instance the stream should be opened
* for.
* @param file is the name of the file that should be opened.
*/
EXTERN int CALL_CONVT
ac_open_file(lp_ac_instance pacInstance, const char *filename);
/**
* Closes an opened media file.
*/
EXTERN void CALL_CONVT ac_close(lp_ac_instance pacInstance);
/**
* Stores information in "pInfo" about stream number "nb".
*/
EXTERN void CALL_CONVT ac_get_stream_info(lp_ac_instance pacInstance, int nb,
lp_ac_stream_info info);
/**
* Reads a package from an opened media file.
*
* @param pacInstance is the Acinerella instance from which the data should be
* read.
* @return a pointer at a ac_package structure or NULL on failure. The returned
* pointer must be freed with ac_free_package after use.
*/
EXTERN lp_ac_package CALL_CONVT ac_read_package(lp_ac_instance pacInstance);
/**
* Frees a package that has been read.
*
* @param pPackage is a pointer at the ac_package that should be freed. May be
* NULL in which case no operation is performed.
*/
EXTERN void CALL_CONVT ac_free_package(lp_ac_package pPackage);
/**
* Creates an decoder for the specified stream number. Returns NULL if no
* decoder could be found.
*/
EXTERN lp_ac_decoder CALL_CONVT
ac_create_decoder(lp_ac_instance pacInstance, int nb);
/**
* Frees an created decoder.
*/
EXTERN void CALL_CONVT ac_free_decoder(lp_ac_decoder pDecoder);
/**
* Decodes a package using the specified decoder. The decoded data is stored in
* the "buffer" property of the decoder.
*
* @param pPackage is the package that should be decoded, previously read by the
* ac_read_package method.
* @param pDecoder is the decoder instance that should be used to decode the
* package -- use the stream index stored in the package to determine the
* correct decoder.
*/
EXTERN int CALL_CONVT
ac_decode_package(lp_ac_package pPackage, lp_ac_decoder pDecoder);
/**
* Decodes a package using the specified decoder and skips it. Returns true if a frame was skiped.
*
* @param pPackage is the package that should be decoded, previously read by the
* ac_read_package method.
* @param pDecoder is the decoder instance that should be used to decode the
* package -- use the stream index stored in the package to determine the
* correct decoder.
*/
EXTERN int CALL_CONVT
ac_skip_package(lp_ac_package pPackage, lp_ac_decoder pDecoder);
/**
* Decodes a packages using the specified decoder and skips num frames. Returns true if num frames where skiped.
*
* @param pacInstance is the Acinerella instance from which the data should be
* read.
* @param pDecoder is the decoder instance that should be used to decode the
* package -- use the stream index stored in the package to determine the
* correct decoder.
* @num number of frames to skip.
*/
EXTERN int CALL_CONVT
ac_skip_frames(lp_ac_instance pacInstance, lp_ac_decoder pDecoder, int num);
/**
* Decodes a video frame using the specified decoder and strores the result in the decoder. Returns true if a frame cloud be decoded.
*
* @param pacInstance is the Acinerella instance from which the data should be
* read.
* @param pDecoder is the decoder instance that should be used to decode the
* package -- use the stream index stored in the package to determine the
* correct decoder.
*/
EXTERN int CALL_CONVT
ac_get_frame(lp_ac_instance pacInstance, lp_ac_decoder pDecoder);
/**
* Decodes a audio frame using the specified decoder and strores the result in the decoder. Returns true if a frame cloud be decoded.
*
* @param pacInstance is the Acinerella instance from which the data should be
* read.
* @param pDecoder is the decoder instance that should be used to decode the
* package -- use the stream index stored in the package to determine the
* correct decoder.
*/
EXTERN int CALL_CONVT
ac_get_audio_frame(lp_ac_instance pacInstance, lp_ac_decoder pDecoder);
/**
* Seeks to the given target position in the file. The seek funtion is not able
* to seek a single audio/video stream but seeks the whole file forward. The
* stream number paremter (nb) is only used for the timecode reference.
* The parameter "dir" specifies the seek direction: 0 for forward, -1 for
* backward. The target_pos paremeter is in milliseconds. Returns 1 if the
* functions succeded.
*/
EXTERN int CALL_CONVT
ac_seek(lp_ac_decoder pDecoder, int dir, int64_t target_pos);
/**
* Checks whether the given input buffer contains data that can potentially be
* decoded by Acinerella. If yes, returns a pointer that may be passed to
* ac_open in order to speed up the open process. Otherwise returns NULL.
*
* @param buf is a pointer to the buffer in which the data is stored.
* @param bufsize is the size of the buffer.
* @param filename is the name of the file the buffer originated from. May be
* empty or NULL.
* @param score_max is set to the maximum of the previous value of score_max
* and an internal score value.
* @return either a pointer at an internal "probe result" or NULL if the buffer
* contains no decodeable data.
*/
EXTERN lp_ac_proberesult CALL_CONVT
ac_probe_input_buffer(uint8_t *buf, int bufsize, char *filename,
int *score_max);
#endif /* _ACINERELLA_H_ */
/*Seeks to the given target position in the file. The seek funtion is not able to seek a single audio/video stream
but seeks the whole file forward. The stream number paremter (nb) is only used for the timecode reference.
The parameter "dir" specifies the seek direction: 0 for forward, -1 for backward.
The target_pos paremeter is in milliseconds. Returns 1 if the functions succeded.*/
extern int CALL_CONVT ac_seek(lp_ac_decoder pDecoder, int dir, int64_t target_pos);
#endif /*VIDEOPLAY_H*/
-6
View File
@@ -1,6 +0,0 @@
#!/bin/sh
PROJECT=$1
cd $PROJECT
sed -i -e s/GITVERSION/$(git describe --long)/ $PROJECT/Properties/AssemblyInfo.cs
shortv=$(git describe --abbrev=0 | sed -e 's/alpha/0/' -e 's/beta/1/' -e 's/rc/2/')
sed -i -e s/SHORTVERSION/${shortv}/ $PROJECT/Properties/AssemblyInfo.cs
+101 -1
View File
@@ -92,6 +92,9 @@ namespace Vocaluxe
try try
{ {
// Create data folder
Directory.CreateDirectory(CSettings.DataFolder);
// Init Log // Init Log
CLog.Init(); CLog.Init();
@@ -282,23 +285,120 @@ namespace Vocaluxe
try try
{ {
CController.Close(); CController.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CController)", false, false, e);
}
try
{
CVocaluxeServer.Close(); CVocaluxeServer.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CVocaluxeServer)", false, false, e);
}
try
{
CGraphics.Close(); CGraphics.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CGraphics)", false, false, e);
}
try
{
CThemes.Close(); CThemes.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CThemes)", false, false, e);
}
try
{
CCover.Close(); CCover.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CCover)", false, false, e);
}
try
{
CFonts.Close(); CFonts.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CFonts)", false, false, e);
}
try
{
CBackgroundMusic.Close(); CBackgroundMusic.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CBackgroundMusic)", false, false, e);
}
try
{
CWebcam.Close(); CWebcam.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CWebcam)", false, false, e);
}
try
{
CDataBase.Close(); CDataBase.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CDataBase)", false, false, e);
}
try
{
CVideo.Close(); CVideo.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CVideo)", false, false, e);
}
try
{
CRecord.Close(); CRecord.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CRecord)", false, false, e);
}
try
{
CSound.Close(); CSound.Close();
}
catch (Exception e)
{
CLog.LogError("Error during shutdown! (CSound)", false, false, e);
}
try
{
CDraw.Close(); CDraw.Close();
} }
catch (Exception e) catch (Exception e)
{ {
CLog.LogError("Error during shutdown!", false, false, e); CLog.LogError("Error during shutdown! (CDraw)", false, false, e);
} }
GC.Collect(); // Do a GC run here before we close logs to have finalizers run GC.Collect(); // Do a GC run here before we close logs to have finalizers run
try try
{ {
+2 -2
View File
@@ -22,12 +22,12 @@ using System.Runtime.InteropServices;
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind. // die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("Vocaluxe")] [assembly: AssemblyTitle("FULLVERSION")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Vocaluxe")] [assembly: AssemblyProduct("Vocaluxe")]
[assembly: AssemblyCopyright("Copyright © 2016")] [assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
+4 -4
View File
@@ -428,12 +428,12 @@ namespace Vocaluxe.Screens
CCreditTranslation asturian = _AddNewTranslation("Asturian", new List<string> { "Puxarra" }); CCreditTranslation asturian = _AddNewTranslation("Asturian", new List<string> { "Puxarra" });
CCreditTranslation czech = _AddNewTranslation("Czech", new List<string> { "fri" }); CCreditTranslation czech = _AddNewTranslation("Czech", new List<string> { "fri" });
CCreditTranslation dutch = _AddNewTranslation("Dutch", new List<string> { "thijsblaauw", "DeMarin" }); CCreditTranslation dutch = _AddNewTranslation("Dutch", new List<string> { "thijsblaauw", "DeMarin" });
CCreditTranslation french = _AddNewTranslation("French", new List<string> { "pinky007" }); CCreditTranslation french = _AddNewTranslation("French", new List<string> { "pinky007", "javafrog" });
CCreditTranslation hungarian = _AddNewTranslation("Hungarian", new List<string> { "warez" }); CCreditTranslation hungarian = _AddNewTranslation("Hungarian", new List<string> { "warez", "skyli" });
CCreditTranslation italian = _AddNewTranslation("Italian", new List<string> { "giuseppep", "LFactory" }); CCreditTranslation italian = _AddNewTranslation("Italian", new List<string> { "giuseppep", "LFactory", "yogotosleepnow" });
CCreditTranslation portugese = _AddNewTranslation("Portuguese", new List<string> { "2borG", "xventil" }); CCreditTranslation portugese = _AddNewTranslation("Portuguese", new List<string> { "2borG", "xventil" });
CCreditTranslation spanish = _AddNewTranslation("Spanish", new List<string> { "Pantero03", "RubenDjOn", "TeLiX", "karv" }); CCreditTranslation spanish = _AddNewTranslation("Spanish", new List<string> { "Pantero03", "RubenDjOn", "TeLiX", "karv" });
CCreditTranslation swedish = _AddNewTranslation("Swedish", new List<string> { "u28151" }); CCreditTranslation swedish = _AddNewTranslation("Swedish", new List<string> { "u28151", "Jiiniasu" });
CCreditTranslation turkish = _AddNewTranslation("Turkish", new List<string> { "spirax", "Swertyy" }); CCreditTranslation turkish = _AddNewTranslation("Turkish", new List<string> { "spirax", "Swertyy" });
_Translations = new List<CCreditTranslation> { intro, asturian, czech, dutch, french, hungarian, italian, spanish, swedish, turkish }; _Translations = new List<CCreditTranslation> { intro, asturian, czech, dutch, french, hungarian, italian, spanish, swedish, turkish };
+1 -1
View File
@@ -285,7 +285,7 @@ namespace Vocaluxe.Screens
private void _ChangePos(int num) private void _ChangePos(int num)
{ {
if (_Scores[_Round].Count == 0) if (_Scores[_Round].Count == 0 || _Scores[_Round].Count <= _NumEntrys)
_Pos = 0; _Pos = 0;
else else
{ {
+5
View File
@@ -57,6 +57,7 @@ namespace Vocaluxe.Screens
_Texts[_TextRelease].Visible = true; _Texts[_TextRelease].Visible = true;
_Statics[_StaticWarningProfiles].Visible = false; _Statics[_StaticWarningProfiles].Visible = false;
_Texts[_TextWarningProfiles].Visible = false; _Texts[_TextWarningProfiles].Visible = false;
_SelectElement(_Buttons[_ButtonSing]);
} }
public override bool HandleInput(SKeyEvent keyEvent) public override bool HandleInput(SKeyEvent keyEvent)
@@ -105,6 +106,10 @@ namespace Vocaluxe.Screens
return false; return false;
break; break;
case Keys.Escape:
_SelectElement(_Buttons[_ButtonExit]);
break;
} }
} }
return true; return true;
+1
View File
@@ -80,6 +80,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+1
View File
@@ -67,6 +67,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+1
View File
@@ -112,6 +112,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveMicConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+1
View File
@@ -89,6 +89,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+1
View File
@@ -92,6 +92,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+1
View File
@@ -95,6 +95,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
@@ -56,6 +56,7 @@ namespace Vocaluxe.Screens
case Keys.S: case Keys.S:
CParty.SetNormalGameMode(); CParty.SetNormalGameMode();
_SaveConfig();
CGraphics.FadeTo(EScreen.Song); CGraphics.FadeTo(EScreen.Song);
break; break;
+10
View File
@@ -319,6 +319,8 @@ namespace Vocaluxe.Screens
_Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonDiscardSnapshot].Visible = false;
_Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = false;
_Buttons[_ButtonWebcam].Visible = false; _Buttons[_ButtonWebcam].Visible = false;
_SelectElement(_Buttons[_ButtonSave]);
} }
else else
{ {
@@ -330,6 +332,8 @@ namespace Vocaluxe.Screens
_Buttons[_ButtonDiscardSnapshot].Visible = true; _Buttons[_ButtonDiscardSnapshot].Visible = true;
_Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = false;
_Buttons[_ButtonWebcam].Visible = false; _Buttons[_ButtonWebcam].Visible = false;
_SelectElement(_Buttons[_ButtonSaveSnapshot]);
} }
} }
@@ -341,6 +345,8 @@ namespace Vocaluxe.Screens
_Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonDiscardSnapshot].Visible = false;
_Buttons[_ButtonTakeSnapshot].Visible = false; _Buttons[_ButtonTakeSnapshot].Visible = false;
_Buttons[_ButtonWebcam].Visible = CWebcam.IsDeviceAvailable(); _Buttons[_ButtonWebcam].Visible = CWebcam.IsDeviceAvailable();
_SelectElement(_Buttons[_ButtonWebcam]);
} }
private void _OnSaveSnapshot() private void _OnSaveSnapshot()
@@ -359,6 +365,8 @@ namespace Vocaluxe.Screens
int id = CProfiles.NewAvatar(file); int id = CProfiles.NewAvatar(file);
CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].SelectedTag, id); CProfiles.SetAvatar(_SelectSlides[_SelectSlideProfiles].SelectedTag, id);
_LoadAvatars(false); _LoadAvatars(false);
_SelectElement(_Buttons[_ButtonSave]);
} }
private void _OnWebcam() private void _OnWebcam()
@@ -374,6 +382,8 @@ namespace Vocaluxe.Screens
_Buttons[_ButtonDiscardSnapshot].Visible = false; _Buttons[_ButtonDiscardSnapshot].Visible = false;
_Buttons[_ButtonTakeSnapshot].Visible = true; _Buttons[_ButtonTakeSnapshot].Visible = true;
_Buttons[_ButtonWebcam].Visible = false; _Buttons[_ButtonWebcam].Visible = false;
_SelectElement(_Buttons[_ButtonTakeSnapshot]);
} }
private void _NewProfile() private void _NewProfile()
+3
View File
@@ -139,6 +139,9 @@ namespace Vocaluxe.Screens
_SetVisibility(); _SetVisibility();
_UpdateRatings(); _UpdateRatings();
_SlideShowBG.Visible = _UpdateBackground(); _SlideShowBG.Visible = _UpdateBackground();
for (int p = 0; p < CGame.NumPlayers; p++)
_Statics[_StaticAvatar[p, CGame.NumPlayers - 1]].Aspect = EAspect.Crop;
} }
public override bool UpdateGame() public override bool UpdateGame()
+30 -31
View File
@@ -201,8 +201,6 @@ namespace Vocaluxe.Screens
CConfig.Config.Theme.PlayerInfo = (EPlayerInfo)mode; CConfig.Config.Theme.PlayerInfo = (EPlayerInfo)mode;
CConfig.SaveConfig(); CConfig.SaveConfig();
_SetVisibility(); _SetVisibility();
if (CGame.GetSong() != null)
_SetDuetLyricsVisibility(CGame.GetSong().IsDuet); //make sure duet lyrics remain visible
break; break;
case Keys.S: case Keys.S:
@@ -596,7 +594,6 @@ namespace Vocaluxe.Screens
_DynamicLyricsTop = true; _DynamicLyricsTop = true;
} }
_SetDuetLyricsVisibility(song.IsDuet);
_SetNormalLyricsVisibility(); _SetNormalLyricsVisibility();
_TimerSongText.Reset(); _TimerSongText.Reset();
@@ -609,37 +606,36 @@ namespace Vocaluxe.Screens
_StartSong(); _StartSong();
} }
private void _SetDuetLyricsVisibility(bool isDuet)
{
_Statics[_StaticLyricsDuet].Visible = isDuet;
_Lyrics[_LyricMainDuet].Visible = isDuet;
_Lyrics[_LyricSubDuet].Visible = isDuet;
if (isDuet)
{
_Lyrics[_LyricMainTop].Visible = false;
_Lyrics[_LyricSubTop].Visible = false;
_Statics[_StaticLyricsTop].Visible = false;
}
else
{
bool lyricsOnTop = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
|| CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
_Lyrics[_LyricMainTop].Visible = lyricsOnTop;
_Lyrics[_LyricSubTop].Visible = lyricsOnTop;
_Statics[_StaticLyricsTop].Visible = lyricsOnTop;
}
}
private void _SetNormalLyricsVisibility() private void _SetNormalLyricsVisibility()
{ {
bool visible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM bool bottomLyricsVisible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTTOM
|| CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH || CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsBottom); || (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsBottom);
_Lyrics[_LyricMain].Visible = visible;
_Lyrics[_LyricSub].Visible = visible; bool topLyricsVisible = CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_TOP
_Statics[_StaticLyrics].Visible = visible; || CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_BOTH
|| (CConfig.Config.Game.LyricsPosition == ELyricsPosition.TR_CONFIG_LYRICSPOSITION_DYNAMIC && _DynamicLyricsTop);
bool duetLyricsVisible = false;
if (CGame.GetSong() != null && CGame.GetSong().IsDuet)
{
bottomLyricsVisible = true;
topLyricsVisible = false;
duetLyricsVisible = true;
}
_Lyrics[_LyricMain].Visible = bottomLyricsVisible;
_Lyrics[_LyricSub].Visible = bottomLyricsVisible;
_Statics[_StaticLyrics].Visible = bottomLyricsVisible;
_Lyrics[_LyricMainTop].Visible = topLyricsVisible;
_Lyrics[_LyricSubTop].Visible = topLyricsVisible;
_Statics[_StaticLyricsTop].Visible = topLyricsVisible;
_Lyrics[_LyricMainDuet].Visible = duetLyricsVisible;
_Lyrics[_LyricSubDuet].Visible = duetLyricsVisible;
_Statics[_StaticLyricsDuet].Visible = duetLyricsVisible;
} }
private void _StartSong() private void _StartSong()
@@ -655,7 +651,10 @@ namespace Vocaluxe.Screens
{ {
//Need this to set other songs to points-var //Need this to set other songs to points-var
while (!CGame.IsFinished()) while (!CGame.IsFinished())
{
CGame.NextRound(); CGame.NextRound();
CGame.ResetPlayer();
}
_FinishedSinging(); _FinishedSinging();
} }
@@ -1115,7 +1114,7 @@ namespace Vocaluxe.Screens
} }
// sub // sub
if (currentLineSub < lines.Length - 2) if ((currentLineSub + 1) < lines.Length)
{ {
float diff = CGame.GetTimeFromBeats(lines[currentLineSub + 1].FirstNoteBeat, song.BPM) - currentTime; float diff = CGame.GetTimeFromBeats(lines[currentLineSub + 1].FirstNoteBeat, song.BPM) - currentTime;
+17 -2
View File
@@ -172,7 +172,12 @@ namespace Vocaluxe.Screens
{ {
keyEvent.Handled = _Playlist.HandleInput(keyEvent); keyEvent.Handled = _Playlist.HandleInput(keyEvent);
if (keyEvent.Handled) if (keyEvent.Handled)
{
//Check if playlist was closed and song menu needed to be resized
if (!_Playlist.Visible)
_SongMenu.SmallView = false;
return true; return true;
}
if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape) if (!keyEvent.KeyPressed && keyEvent.Key == Keys.Escape)
{ {
_ClosePlaylist(); _ClosePlaylist();
@@ -362,7 +367,10 @@ namespace Vocaluxe.Screens
{ {
if (CSongs.IsInCategory) if (CSongs.IsInCategory)
_SongMenu.SetSelectedSong(CSongs.GetRandomSong()); _SongMenu.SetSelectedSong(CSongs.GetRandomSong());
else }
else if (_Buttons[_ButtonOptionsRandomCategory].Selected)
{
if (!CSongs.IsInCategory)
_SongMenu.SetSelectedCategory(CSongs.GetRandomCategory()); _SongMenu.SetSelectedCategory(CSongs.GetRandomCategory());
} }
else if (_Buttons[_ButtonOptionsSingAll].Selected) else if (_Buttons[_ButtonOptionsSingAll].Selected)
@@ -411,7 +419,12 @@ namespace Vocaluxe.Screens
_SongMenu.Selected = false; _SongMenu.Selected = false;
_ToggleSongOptions(ESongOptionsView.None); _ToggleSongOptions(ESongOptionsView.None);
if (_Playlist.HandleMouse(mouseEvent)) if (_Playlist.HandleMouse(mouseEvent))
{
//Check if playlist was closed and song menu needed to be resized
if (!_Playlist.Visible)
_SongMenu.SmallView = false;
return true; return true;
}
} }
else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent)) else if (CHelper.IsInBounds(_SongMenu.Rect, mouseEvent))
{ {
@@ -1054,7 +1067,7 @@ namespace Vocaluxe.Screens
case ESongSorting.TR_CONFIG_FOLDER: case ESongSorting.TR_CONFIG_FOLDER:
if (curSelected >= 0 && curSelected < ct - 1 && songs[curSelected].Folder.StartsWith(letter.ToString(), StringComparison.OrdinalIgnoreCase)) if (curSelected >= 0 && curSelected < ct - 1 && songs[curSelected].Folder.StartsWith(letter.ToString(), StringComparison.OrdinalIgnoreCase))
start = curSelected + 1; start = curSelected + 1;
visibleID = _FindIndex(songs, start, element => element.Folder.StartsWith(letter.ToString(), StringComparison.OrdinalIgnoreCase)); visibleID = _FindIndex(songs, start, element => element.FolderName.StartsWith(letter.ToString(), StringComparison.OrdinalIgnoreCase));
break; break;
} }
if (visibleID > -1) if (visibleID > -1)
@@ -1261,6 +1274,8 @@ namespace Vocaluxe.Screens
{ {
_SongMenu.SmallView = true; _SongMenu.SmallView = true;
_Playlist.Visible = true; _Playlist.Visible = true;
_SelectElement(_Playlist);
_ToggleSongOptions(ESongOptionsView.None);
} }
} }
+15 -17
View File
@@ -31,7 +31,8 @@
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp>3d91144f</NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugWin|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugWin|x86' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
@@ -477,15 +478,14 @@
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">xcopy /E /D /Y "$(ProjectDir)\Website" "$(SolutionDir)\PhoneGap" <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">xcopy /E /D /Y "$(ProjectDir)\Website" "$(SolutionDir)\PhoneGap"</PostBuildEvent>
powershell -command "if($Env:GIT_VERSION_TAG) {$version = $Env:GIT_VERSION_TAG;} else {$version = git describe --long;}(Get-Content -Encoding UTF8 '$(ProjectDir)..\Output\Website\js\main.js') | Foreach-Object {$_ -replace '(?&lt;=var *matchingServerVersion * = *\")\w*(?=\" *;)', "$version"} | Set-Content -Encoding UTF8 '$(ProjectDir)..\Output\Website\js\main.js'" <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">powershell -ExecutionPolicy Bypass -File $(SolutionDir)\.build\winPostBuild.ps1 $(ProjectDir)</PostBuildEvent>
powershell -command "(Get-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs') | Foreach-Object {$_ -replace '(?&lt;=AssemblyInformationalVersion\(\").*(?=\")', 'GITVERSION'} | Foreach-Object {$_ -replace '(?&lt;=(AssemblyVersion|AssemblyFileVersion)\(\").*(?=\")', 'SHORTVERSION'} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs' "</PostBuildEvent>
<PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">cp -ruT "$(ProjectDir)Website" "$(SolutionDir)/PhoneGap"</PostBuildEvent> <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">cp -ruT "$(ProjectDir)Website" "$(SolutionDir)/PhoneGap"</PostBuildEvent>
<PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">$(ProjectDir)Linux/Build/PostBuildEvent.sh $(ProjectDir)</PostBuildEvent> <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">$(SolutionDir)/.build/linuxPostBuildEvent.sh $(ProjectDir)</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">powershell -command " if($Env:GIT_VERSION_TAG) {$version = $Env:GIT_VERSION_TAG;} else {$version = git describe --long;} (Get-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs') | Foreach-Object {$_ -replace '(?&lt;=AssemblyInformationalVersion\(\").*(?=\")', $version} | Foreach-Object {$_ -replace '(?&lt;=(AssemblyVersion|AssemblyFileVersion)\(\").*(?=\")', $version.Split('-')[0].replace('alpha','0').replace('beta','1').replace('rc','2')} | Foreach-Object {$_ -replace '(?&lt;=AssemblyCopyright\(\".*)[0-9]+(?=\")', (Get-Date).Year} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs' "</PreBuildEvent> <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">powershell -ExecutionPolicy Bypass -File $(SolutionDir)\.build\winPreBuild.ps1 $(ProjectDir) $(Platform)</PreBuildEvent>
<PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">$(ProjectDir)Linux/Build/PreBuildEvent.sh $(ProjectDir)</PreBuildEvent> <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">$(SolutionDir)/.build/linuxPreBuildEvent.sh $(ProjectDir) $(Platform)</PreBuildEvent>
</PropertyGroup> </PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
@@ -536,31 +536,29 @@ powershell -command "(Get-Content -Encoding UTF8 '$(ProjectDir)Properties\Assemb
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Rebuild for automatic package restore. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Rebuild for automatic package restore. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.acinerella.1.0.3\build\vocaluxe.dependencies.acinerella.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.acinerella.1.0.3\build\vocaluxe.dependencies.acinerella.targets'))" /> <Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.acinerella.1.0.5\build\vocaluxe.dependencies.acinerella.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.acinerella.1.0.5\build\vocaluxe.dependencies.acinerella.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets'))" />
<Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.ffmpeg.1.0.3\build\vocaluxe.dependencies.ffmpeg.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.ffmpeg.1.0.3\build\vocaluxe.dependencies.ffmpeg.targets'))" /> <Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.ffmpeg.1.0.4\build\vocaluxe.dependencies.ffmpeg.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.ffmpeg.1.0.4\build\vocaluxe.dependencies.ffmpeg.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets'))" />
<Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets'))" /> <Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.portaudiosharp.1.0.2\build\vocaluxe.dependencies.portaudiosharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.portaudiosharp.1.0.2\build\vocaluxe.dependencies.portaudiosharp.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets'))" />
<Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.gstreamer.1.0.2\build\vocaluxe.dependencies.gstreamer.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.gstreamer.1.0.2\build\vocaluxe.dependencies.gstreamer.targets'))" /> <Error Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND !Exists('..\packages\vocaluxe.dependencies.gstreamer.1.0.3\build\vocaluxe.dependencies.gstreamer.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.gstreamer.1.0.3\build\vocaluxe.dependencies.gstreamer.targets'))" />
<Error Condition="!Exists('..\packages\vocaluxe.dependencies.1.0.10\build\vocaluxe.dependencies.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.1.0.10\build\vocaluxe.dependencies.targets'))" /> <Error Condition="!Exists('..\packages\vocaluxe.dependencies.portaudiosharp.1.0.3\build\vocaluxe.dependencies.portaudiosharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\vocaluxe.dependencies.portaudiosharp.1.0.3\build\vocaluxe.dependencies.portaudiosharp.targets'))" />
</Target> </Target>
<Import Project="..\packages\vocaluxe.dependencies.acinerella.1.0.3\build\vocaluxe.dependencies.acinerella.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.acinerella.1.0.3\build\vocaluxe.dependencies.acinerella.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.acinerella.1.0.5\build\vocaluxe.dependencies.acinerella.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.acinerella.1.0.5\build\vocaluxe.dependencies.acinerella.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets" Condition="Exists('..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets" Condition="Exists('..\packages\vocaluxe.dependencies.aforgevideo.1.0.1\build\vocaluxe.dependencies.aforgevideo.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets" Condition="Exists('..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets" Condition="Exists('..\packages\vocaluxe.dependencies.csharpsqlite.1.0.1\build\vocaluxe.dependencies.csharpsqlite.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.ffmpeg.1.0.3\build\vocaluxe.dependencies.ffmpeg.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.ffmpeg.1.0.3\build\vocaluxe.dependencies.ffmpeg.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.ffmpeg.1.0.4\build\vocaluxe.dependencies.ffmpeg.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.ffmpeg.1.0.4\build\vocaluxe.dependencies.ffmpeg.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets" Condition="Exists('..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets" Condition="Exists('..\packages\vocaluxe.dependencies.gstreamersharp.1.0.1\build\vocaluxe.dependencies.gstreamersharp.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.hidapi.1.0.4\build\vocaluxe.dependencies.hidapi.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets" Condition="Exists('..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets" Condition="Exists('..\packages\vocaluxe.dependencies.opentk.1.0.1\build\vocaluxe.dependencies.opentk.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.portaudiosharp.1.0.2\build\vocaluxe.dependencies.portaudiosharp.targets" Condition="Exists('..\packages\vocaluxe.dependencies.portaudiosharp.1.0.2\build\vocaluxe.dependencies.portaudiosharp.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets" Condition="Exists('..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets" Condition="Exists('..\packages\vocaluxe.dependencies.qrcoder.1.0.1\build\vocaluxe.dependencies.qrcoder.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets" Condition="Exists('..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets" Condition="Exists('..\packages\vocaluxe.dependencies.slimdx.1.0.1\build\vocaluxe.dependencies.slimdx.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets" Condition="Exists('..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets" Condition="Exists('..\packages\vocaluxe.dependencies.sqlite.1.0.1\build\vocaluxe.dependencies.sqlite.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.gstreamer.1.0.2\build\vocaluxe.dependencies.gstreamer.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.gstreamer.1.0.2\build\vocaluxe.dependencies.gstreamer.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.gstreamer.1.0.3\build\vocaluxe.dependencies.gstreamer.targets" Condition="'$(Configuration)' != 'ReleaseLinux' AND '$(Configuration)' != 'DebugLinux' AND Exists('..\packages\vocaluxe.dependencies.gstreamer.1.0.3\build\vocaluxe.dependencies.gstreamer.targets')" />
<Import Project="..\packages\vocaluxe.dependencies.1.0.10\build\vocaluxe.dependencies.targets" Condition="Exists('..\packages\vocaluxe.dependencies.1.0.10\build\vocaluxe.dependencies.targets')" /> <Import Project="..\packages\vocaluxe.dependencies.portaudiosharp.1.0.3\build\vocaluxe.dependencies.portaudiosharp.targets" Condition="Exists('..\packages\vocaluxe.dependencies.portaudiosharp.1.0.3\build\vocaluxe.dependencies.portaudiosharp.targets')" />
</Project> </Project>
+86
View File
@@ -0,0 +1,86 @@
{
"loginName": "Név:",
"loginPassword": "Jelszó:",
"loginButton": "Bejelentkezés",
"registerButton": "Új Profil",
"discoverReadQrButton": "QR-kód beolvasása",
"mainPageYourProfileLink": "Saját Profil",
"mainPageYourProfileLinkDesc": "Saját profil szerkesztése",
"mainPageCurrentSongLink": "Jelenlegi dal",
"mainPageCurrentSongLinkDesc": "Információk mutatása a jelenlegi dalról",
"mainPageSelectSong": "Minden dal",
"mainPageSelectSongDesc": "Minden elérhető dal listázása",
"mainPageSelectPlaylist": "Minden lejátszási lista",
"mainPageSelectPlaylistDesc": "Minden lejátszási lista mutatása",
"mainPageSelectProfile": "Profilok",
"mainPageSelectProfileDesc": "Minden profil mutatása",
"mainPageTakePhotoLink": "Fénykép készítése",
"mainPageTakePhotoLinkDesc": "Fényképet készít és megmutatja a kör végén",
"mainPageKeyboard": "Billentyűzet",
"mainPageKeyboardDesc": "Billentyűzet kezelése",
"mainPageSelectUserAdmin": "Adminisztráció",
"mainPageSelectUserAdminDesc": "Felhasználói jogok beállítása",
"mainPageLogoutLink": "Kijelentkezés",
"mainPageLogoutLinkDesc": "Másik profilra váltáshoz",
"selectProfileHeader": "Minden profil",
"displayProfileHeader": "Profil",
"displayProfileName": "Név:",
"displayProfilePlayerType": "Játékos Típusa",
"displayProfilePlayerTypeNormal": "Normál",
"displayProfilePlayerTypeGuest": "Vendég",
"displayProfilePlayerDifficulty": "Nehézségi szint",
"displayProfilePlayerDifficultyEasy": "Könnyű",
"displayProfilePlayerDifficultyNormal": "Normál",
"displayProfilePlayerDifficultyHard": "Nehéz",
"displayProfilePlayerPassword": "Új Jelszó:",
"displayProfilePlayerSaveButton": "Mentés",
"displaySongHeader": "Jelenlegi dal",
"displaySongArtist": "Előadó:",
"displaySongGenre": "Műfaj:",
"displaySongYear": "Év:",
"displaySongLanguage": "Nyelv:",
"displaySongIsDuet": "Duett:",
"popupVideoClose": "Bezárás",
"selectSongHeader": "Minden Dal",
"keyboardHeader": "Billentyűzet",
"keyboardButtonUp": "fel",
"keyboardButtonLeft": "balra",
"keyboardButtonRight": "jobbra",
"keyboardButtonDown": "le",
"keyboardButtonEscape": "esc",
"keyboardButtonTab": "tab",
"keyboardButtonReturn": "enter",
"keyboardButtonKeys": "Egyéb billentyűk küldéséhez írd ide:",
"selectUserAdminHeader": "Minden profil",
"displayUserAdminHeader": "Profil",
"displayUserAdminContentSaveButton": "Mentés",
"selectPlaylistHeader": "Lejátszási lista kiválasztása",
"displayPlaylistHeader": "Lejátszási lista",
"displayPlaylistSaveButton": "Mentés",
"selectPlaylistAddPlaylistButton": "Hozzáadás",
"Loading (external)...": "Betöltés (külső)...",
"Loading...": "Betöltés...",
"Creating...": "Elkészítés...",
"Error...": "Hiba...",
"No connection": "Nincs kapcsolat",
"No session": "Nincs kapcsolódás",
"Uploading photo...": "Fénykép feltöltése...",
"Getting current song...": "Jelenlegi dal betöltése...",
"Login...": "Bejelentkezés...",
"Creating profile...": "Profil létrehozása...",
"This is not a valid name.": "Érvénytelen név.",
"Uploading profile...": "Profil feltöltése...",
"songs": "dalok",
"YourName": "IdeÍrdANeved",
"discoverConnectHeader": "Kapcsolódás a szerverhez",
"discoverConnectServerAddress": "Szerver címe:",
"discoverConnectButton": "Kapcsolódás",
"Checking...": "Ellenőrzés...",
"timeout": "Időtúllépés",
"keyboardButtonShift": "Shift",
"keyboardButtonAlt": "Alt",
"keyboardButtonCtrl": "Ctrl",
"keyboardButtonBackspace": "Backspace",
"keyboardAutoSend": "Billentyűleütések automatikus küldése",
"keyboardButtonSend": "Küldés"
}
+21 -21
View File
@@ -1,12 +1,12 @@
{ {
"loginName": "Användare:", "loginName": "Användarnamn:",
"loginPassword": "Lösenord:", "loginPassword": "Lösenord:",
"loginButton": "Inloggning", "loginButton": "Logga in",
"registerButton": "Skapa Profil", "registerButton": "Skapa profil",
"discoverReadQrButton": "Scanna QRCode", "discoverReadQrButton": "Scanna QR-kod",
"mainPageYourProfileLink": "Din Profil", "mainPageYourProfileLink": "Din profil",
"mainPageYourProfileLinkDesc": "Ändra din profil", "mainPageYourProfileLinkDesc": "Ändra din profil",
"mainPageCurrentSongLink": "Nuvarande Låt", "mainPageCurrentSongLink": "Nuvarande låt",
"mainPageCurrentSongLinkDesc": "Visa information om nuvarande låt", "mainPageCurrentSongLinkDesc": "Visa information om nuvarande låt",
"mainPageSelectSong": "Alla låtar", "mainPageSelectSong": "Alla låtar",
"mainPageSelectSongDesc": "Lista alla tillgängliga låtar", "mainPageSelectSongDesc": "Lista alla tillgängliga låtar",
@@ -14,25 +14,25 @@
"mainPageSelectPlaylistDesc": "Visa alla spellistor", "mainPageSelectPlaylistDesc": "Visa alla spellistor",
"mainPageSelectProfile": "Profiler", "mainPageSelectProfile": "Profiler",
"mainPageSelectProfileDesc": "Visa alla profiler", "mainPageSelectProfileDesc": "Visa alla profiler",
"mainPageTakePhotoLink": "Ta Foto", "mainPageTakePhotoLink": "Ta foto",
"mainPageTakePhotoLinkDesc": "Tar ett foto och visar det i slutet av rundan", "mainPageTakePhotoLinkDesc": "Tar ett foto och visar det i slutet av rundan",
"mainPageKeyboard": "Tangentbord", "mainPageKeyboard": "Tangentbord",
"mainPageKeyboardDesc": "Skicka tangenter", "mainPageKeyboardDesc": "Skicka tangenttryck",
"mainPageSelectUserAdmin": "Administration", "mainPageSelectUserAdmin": "Administration",
"mainPageSelectUserAdminDesc": "Konfigurera användarrättigheter", "mainPageSelectUserAdminDesc": "Konfigurera användarrättigheter",
"mainPageLogoutLink": "Logga ut", "mainPageLogoutLink": "Logga ut",
"mainPageLogoutLinkDesc": "Avsluta sessionen", "mainPageLogoutLinkDesc": "Avslutar sessionen",
"selectProfileHeader": "Alla profiler", "selectProfileHeader": "Alla profiler",
"displayProfileHeader": "Profil", "displayProfileHeader": "Profil",
"displayProfileName": "Namn:", "displayProfileName": "Namn:",
"displayProfilePlayerType": "Spelar Typ:", "displayProfilePlayerType": "Spelartyp:",
"displayProfilePlayerTypeNormal": "Normal", "displayProfilePlayerTypeNormal": "Normal",
"displayProfilePlayerTypeGuest": "Gäst", "displayProfilePlayerTypeGuest": "Gäst",
"displayProfilePlayerDifficulty": "Svårighetsgrad:", "displayProfilePlayerDifficulty": "Svårighetsgrad:",
"displayProfilePlayerDifficultyEasy": "Lätt", "displayProfilePlayerDifficultyEasy": "Lätt",
"displayProfilePlayerDifficultyNormal": "Normal", "displayProfilePlayerDifficultyNormal": "Medel",
"displayProfilePlayerDifficultyHard": "Svårt", "displayProfilePlayerDifficultyHard": "Svår",
"displayProfilePlayerPassword": "Nytt Lösenord:", "displayProfilePlayerPassword": "Nytt lösenord:",
"displayProfilePlayerSaveButton": "Spara och ladda upp", "displayProfilePlayerSaveButton": "Spara och ladda upp",
"displaySongHeader": "Ingen nuvarande låt", "displaySongHeader": "Ingen nuvarande låt",
"displaySongArtist": "Artist:", "displaySongArtist": "Artist:",
@@ -48,9 +48,9 @@
"keyboardButtonRight": "höger", "keyboardButtonRight": "höger",
"keyboardButtonDown": "ner", "keyboardButtonDown": "ner",
"keyboardButtonEscape": "avbryt", "keyboardButtonEscape": "avbryt",
"keyboardButtonTab": "tab", "keyboardButtonTab": "tabb",
"keyboardButtonReturn": "enter", "keyboardButtonReturn": "retur",
"keyboardButtonKeys": "För att skicka andra tangenter skriv här:", "keyboardButtonKeys": "För att skicka andra tangenttryck skriv här:",
"selectUserAdminHeader": "Alla profiler", "selectUserAdminHeader": "Alla profiler",
"displayUserAdminHeader": "Profil", "displayUserAdminHeader": "Profil",
"displayUserAdminContentSaveButton": "Spara", "displayUserAdminContentSaveButton": "Spara",
@@ -71,16 +71,16 @@
"This is not a valid name.": "Detta är inget giltigt namn.", "This is not a valid name.": "Detta är inget giltigt namn.",
"Uploading profile...": "Laddar upp profil...", "Uploading profile...": "Laddar upp profil...",
"songs": "låtar", "songs": "låtar",
"YourName": "Ditt Namn", "YourName": "Ditt namn",
"discoverConnectHeader": "Anslut till server", "discoverConnectHeader": "Anslut till server",
"discoverConnectServerAddress": "serveradress:", "discoverConnectServerAddress": "Serveradress:",
"discoverConnectButton": "Anslut", "discoverConnectButton": "Anslut",
"Checking...": "Kontrollerar...", "Checking...": "Kontrollerar...",
"timeout": "Timeout", "timeout": "Timeout",
"keyboardButtonShift": "Shift", "keyboardButtonShift": "Skift",
"keyboardButtonAlt": "Alt", "keyboardButtonAlt": "Alt",
"keyboardButtonCtrl": "Control", "keyboardButtonCtrl": "Ctrl",
"keyboardButtonBackspace": "Backsteg", "keyboardButtonBackspace": "Backsteg",
"keyboardAutoSend": "Auto skicka knappar", "keyboardAutoSend": "Autoskicka knappar",
"keyboardButtonSend": "Skicka" "keyboardButtonSend": "Skicka"
} }
+5 -5
View File
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="vocaluxe.dependencies" version="1.0.10" targetFramework="net40" /> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net471" />
<package id="vocaluxe.dependencies.acinerella" version="1.0.3" targetFramework="net40" /> <package id="vocaluxe.dependencies.acinerella" version="1.0.5" targetFramework="net40" />
<package id="vocaluxe.dependencies.aforgevideo" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.aforgevideo" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.csharpsqlite" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.csharpsqlite" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.ffmpeg" version="1.0.3" targetFramework="net40" /> <package id="vocaluxe.dependencies.ffmpeg" version="1.0.4" targetFramework="net40" />
<package id="vocaluxe.dependencies.gstreamer" version="1.0.2" targetFramework="net40" /> <package id="vocaluxe.dependencies.gstreamer" version="1.0.3" targetFramework="net40" />
<package id="vocaluxe.dependencies.gstreamersharp" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.gstreamersharp" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.hidapi" version="1.0.4" targetFramework="net40" /> <package id="vocaluxe.dependencies.hidapi" version="1.0.4" targetFramework="net40" />
<package id="vocaluxe.dependencies.opentk" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.opentk" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.portaudiosharp" version="1.0.2" targetFramework="net40" /> <package id="vocaluxe.dependencies.portaudiosharp" version="1.0.3" targetFramework="net40" />
<package id="vocaluxe.dependencies.qrcoder" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.qrcoder" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.slimdx" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.slimdx" version="1.0.1" targetFramework="net40" />
<package id="vocaluxe.dependencies.sqlite" version="1.0.1" targetFramework="net40" /> <package id="vocaluxe.dependencies.sqlite" version="1.0.1" targetFramework="net40" />
+1 -1
View File
@@ -135,7 +135,7 @@ namespace VocaluxeLib.Menu
MaxRect = button.MaxRect; MaxRect = button.MaxRect;
Color = button.Color; Color = button.Color;
SelColor = button.Color; SelColor = button.SelColor;
Texture = button.Texture; Texture = button.Texture;
SelTexture = button.SelTexture; SelTexture = button.SelTexture;
+13 -6
View File
@@ -15,6 +15,7 @@
// along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>. // along with Vocaluxe. If not, see <http://www.gnu.org/licenses/>.
#endregion #endregion
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using VocaluxeLib.Draw; using VocaluxeLib.Draw;
@@ -37,7 +38,7 @@ namespace VocaluxeLib.Menu
} }
} }
private bool _Teams; protected bool _Teams = true;
protected int _NumTeams = -1; protected int _NumTeams = -1;
protected int _NumPlayer = -1; protected int _NumPlayer = -1;
protected int[] _NumPlayerTeams; protected int[] _NumPlayerTeams;
@@ -106,8 +107,6 @@ namespace VocaluxeLib.Menu
for (int i = 0; i < _TeamList.Length; i++) for (int i = 0; i < _TeamList.Length; i++)
_TeamList[i] = new List<int>(); _TeamList[i] = new List<int>();
_Teams = _NumTeams > 0;
_UpdateSlides(); _UpdateSlides();
_LoadProfiles(); _LoadProfiles();
_UpdateButtonVisibility(); _UpdateButtonVisibility();
@@ -589,12 +588,15 @@ namespace VocaluxeLib.Menu
} }
else else
{ {
_NumPlayerTeams[i] = _NumPlayer; //Get average num players per teams as default player number
_NumPlayerTeams[i] = _NumPlayer/(_NumTeams - 1);
_NumPlayer += _NumPlayerTeams[i];
_TeamList[i] = new List<int>(); _TeamList[i] = new List<int>();
} }
} }
} }
_UpdateButtonState(); _UpdateButtonState();
_UpdateTeamSlide();
} }
public void DecreaseTeamNum() public void DecreaseTeamNum()
@@ -605,6 +607,7 @@ namespace VocaluxeLib.Menu
if (_NumTeams - 1 >= _PartyMode.MinTeams) if (_NumTeams - 1 >= _PartyMode.MinTeams)
_NumTeams--; _NumTeams--;
_UpdateButtonState(); _UpdateButtonState();
_UpdateTeamSlide();
} }
public void IncreasePlayerNum(int team) public void IncreasePlayerNum(int team)
@@ -693,16 +696,20 @@ namespace VocaluxeLib.Menu
private void _UpdateTeamSlide() private void _UpdateTeamSlide()
{ {
int sel = _SelectSlides[_SelectSlideTeams].Selection;
_SelectSlides[_SelectSlideTeams].Visible = _Teams; _SelectSlides[_SelectSlideTeams].Visible = _Teams;
_SelectSlides[_SelectSlideTeams].Clear(); _SelectSlides[_SelectSlideTeams].Clear();
for (int i = 1; i <= _NumTeams; i++) for (int i = 1; i <= _NumTeams; i++)
_SelectSlides[_SelectSlideTeams].AddValue("Team " + i, null, i); _SelectSlides[_SelectSlideTeams].AddValue("Team " + i, null, i);
_SelectSlides[_SelectSlideTeams].Selection = Math.Min(sel, _SelectSlides[_SelectSlideTeams].NumValues - 1);
} }
private void _UpdateButtonVisibility() private void _UpdateButtonVisibility()
{ {
_Buttons[_ButtonIncreaseTeams].Visible = _AllowChangePlayerNum && _Teams && _PartyMode.MinTeams != _PartyMode.MaxTeams; _Buttons[_ButtonIncreaseTeams].Visible = _AllowChangeTeamNum && _Teams && _PartyMode.MinTeams != _PartyMode.MaxTeams;
_Buttons[_ButtonDecreaseTeams].Visible = _AllowChangePlayerNum && _Teams && _PartyMode.MinTeams != _PartyMode.MaxTeams; _Buttons[_ButtonDecreaseTeams].Visible = _AllowChangeTeamNum && _Teams && _PartyMode.MinTeams != _PartyMode.MaxTeams;
_Buttons[_ButtonIncreasePlayer].Visible = _AllowChangePlayerNum; _Buttons[_ButtonIncreasePlayer].Visible = _AllowChangePlayerNum;
_Buttons[_ButtonDecreasePlayer].Visible = _AllowChangePlayerNum; _Buttons[_ButtonDecreasePlayer].Visible = _AllowChangePlayerNum;
} }
+21 -6
View File
@@ -119,18 +119,24 @@ namespace VocaluxeLib.Menu
keyEvent.Handled = PrevValue(); keyEvent.Handled = PrevValue();
else else
keyEvent.Handled = _NextElement(keyEvent); keyEvent.Handled = _NextElement(keyEvent);
}
if (keyEvent.Key == Keys.Right) return true;
}
else if (keyEvent.Key == Keys.Right)
{ {
if (_IsSelectionValid() && _Elements[_Selection].Type == EType.SelectSlide && keyEvent.Mod != EModifier.Shift) if (_IsSelectionValid() && _Elements[_Selection].Type == EType.SelectSlide && keyEvent.Mod != EModifier.Shift)
keyEvent.Handled = NextValue(); keyEvent.Handled = NextValue();
else else
keyEvent.Handled = _NextElement(keyEvent); keyEvent.Handled = _NextElement(keyEvent);
}
if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down) return true;
}
else if (keyEvent.Key == Keys.Up || keyEvent.Key == Keys.Down)
{
keyEvent.Handled = _NextElement(keyEvent); keyEvent.Handled = _NextElement(keyEvent);
return true;
}
} }
else else
{ {
@@ -140,16 +146,25 @@ namespace VocaluxeLib.Menu
PrevElement(); PrevElement();
else else
NextElement(); NextElement();
return true;
} }
if (keyEvent.Key == Keys.Left) if (keyEvent.Key == Keys.Left)
{
PrevValue(); PrevValue();
if (keyEvent.Key == Keys.Right) return true;
}
else if (keyEvent.Key == Keys.Right)
{
NextValue(); NextValue();
return true;
}
} }
return true; return false;
} }
public virtual bool HandleMouse(SMouseEvent mouseEvent) public virtual bool HandleMouse(SMouseEvent mouseEvent)
+2 -2
View File
@@ -554,7 +554,7 @@ namespace VocaluxeLib.Menu
break; break;
case Keys.Enter: case Keys.Enter:
_StartPlaylistSong(_CurrentPlaylistElement); _StartPlaylistSong(_CurrentPlaylistElement + _Offset);
break; break;
case Keys.Add: //move the selected song up case Keys.Add: //move the selected song up
@@ -880,7 +880,7 @@ namespace VocaluxeLib.Menu
//Start selected song with double click //Start selected song with double click
if (mouseEvent.LD && _CurrentPlaylistElement != -1) if (mouseEvent.LD && _CurrentPlaylistElement != -1)
_StartPlaylistSong(_CurrentPlaylistElement); _StartPlaylistSong(_CurrentPlaylistElement + _Offset);
//Change order with holding LB //Change order with holding LB
if (mouseEvent.LBH && _CurrentPlaylistElement != -1 && _PlaylistElementContents.Count > 0 && DragAndDropSongID == -1) if (mouseEvent.LBH && _CurrentPlaylistElement != -1 && _PlaylistElementContents.Count > 0 && DragAndDropSongID == -1)
+1
View File
@@ -586,6 +586,7 @@ namespace VocaluxeLib.Menu
Text = new CText(0, 0, 0, _TextH, _MaxW, EAlignment.Center, _Theme.TextStyle, _Theme.TextFont, _TextColor, "T", _PartyModeID), Text = new CText(0, 0, 0, _TextH, _MaxW, EAlignment.Center, _Theme.TextStyle, _Theme.TextFont, _TextColor, "T", _PartyModeID),
Img = new CStatic(_PartyModeID) Img = new CStatic(_PartyModeID)
}; };
el.Img.Aspect = EAspect.Crop;
_VisibleElements.Add(el); _VisibleElements.Add(el);
} }
} }
Loaded 100 of 104 files, more files were not shown because too many files have changed in this diff. Show more