diff --git a/Output/Fonts/Fonts.xml b/Output/Fonts/Fonts.xml
index f9bd90df..70524adf 100644
--- a/Output/Fonts/Fonts.xml
+++ b/Output/Fonts/Fonts.xml
@@ -2,10 +2,28 @@
Normal
+ 0,00
+ 0,00
+ 0,00
+ 0,00
+ 1,00
FreeSans
FreeSans.ttf
FreeSansBold.ttf
FreeSansOblique.ttf
FreeSansBoldOblique.ttf
+
+ Outline
+ 0,10
+ 0,00
+ 0,00
+ 0,00
+ 1,00
+ FreeSans
+ FreeSans.ttf
+ FreeSansBold.ttf
+ FreeSansOblique.ttf
+ FreeSansBoldOblique.ttf
+
\ No newline at end of file
diff --git a/Output/Readme.txt b/Output/Readme.txt
index 4f05511a..93940687 100644
--- a/Output/Readme.txt
+++ b/Output/Readme.txt
@@ -115,6 +115,7 @@ Songscreen
=================================
= 5. Help & Suppport =
=================================
+GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki
Support Forum (German): http://www.ultra-star.de
Song-DataBase (USDB): http://usdb.animux.de/
diff --git a/Output/Themes/Ambient.xml b/Output/Themes/Ambient.xml
index 033f80e3..25940dca 100644
--- a/Output/Themes/Ambient.xml
+++ b/Output/Themes/Ambient.xml
@@ -1,12 +1,12 @@
- 4
+ 5
Ambient
bohning
Ambient
0
- 1
+ 2
Cursor
diff --git a/Output/Themes/Ambient/Screens/ScreenHighscore.xml b/Output/Themes/Ambient/Screens/ScreenHighscore.xml
index 596abbd3..80f2dd70 100644
--- a/Output/Themes/Ambient/Screens/ScreenHighscore.xml
+++ b/Output/Themes/Ambient/Screens/ScreenHighscore.xml
@@ -65,7 +65,7 @@
- Normal
+ Outline
TR_SCREENHIGHSCORE_HIGHSCORE
@@ -92,7 +92,7 @@
- Normal
+ Outline
@@ -119,7 +119,7 @@
- Normal
+ Outline
@@ -146,7 +146,7 @@
- Normal
+ Outline
@@ -173,7 +173,7 @@
- Normal
+ Outline
@@ -200,7 +200,7 @@
- Normal
+ Outline
@@ -227,7 +227,7 @@
- Normal
+ Outline
@@ -254,7 +254,7 @@
- Normal
+ Outline
@@ -281,7 +281,7 @@
- Normal
+ Outline
@@ -308,7 +308,7 @@
- Normal
+ Outline
@@ -335,7 +335,7 @@
- Normal
+ Outline
@@ -362,7 +362,7 @@
- Normal
+ Outline
@@ -389,7 +389,7 @@
- Normal
+ Outline
@@ -416,7 +416,7 @@
- Normal
+ Outline
@@ -443,7 +443,7 @@
- Normal
+ Outline
@@ -470,7 +470,7 @@
- Normal
+ Outline
@@ -497,7 +497,7 @@
- Normal
+ Outline
@@ -524,7 +524,7 @@
- Normal
+ Outline
@@ -551,7 +551,7 @@
- Normal
+ Outline
@@ -578,7 +578,7 @@
- Normal
+ Outline
@@ -605,7 +605,7 @@
- Normal
+ Outline
@@ -632,7 +632,7 @@
- Normal
+ Outline
@@ -659,7 +659,7 @@
- Normal
+ Outline
@@ -686,7 +686,7 @@
- Normal
+ Outline
@@ -713,7 +713,7 @@
- Normal
+ Outline
@@ -740,7 +740,7 @@
- Normal
+ Outline
@@ -767,7 +767,7 @@
- Normal
+ Outline
@@ -794,7 +794,7 @@
- Normal
+ Outline
@@ -821,7 +821,7 @@
- Normal
+ Outline
@@ -848,7 +848,7 @@
- Normal
+ Outline
@@ -875,7 +875,7 @@
- Normal
+ Outline
@@ -902,7 +902,7 @@
- Normal
+ Outline
@@ -929,7 +929,7 @@
- Normal
+ Outline
@@ -956,7 +956,7 @@
- Normal
+ Outline
@@ -983,7 +983,7 @@
- Normal
+ Outline
@@ -1010,7 +1010,7 @@
- Normal
+ Outline
@@ -1037,7 +1037,7 @@
- Normal
+ Outline
@@ -1064,7 +1064,7 @@
- Normal
+ Outline
@@ -1091,7 +1091,7 @@
- Normal
+ Outline
@@ -1118,7 +1118,7 @@
- Normal
+ Outline
@@ -1145,7 +1145,7 @@
- Normal
+ Outline
@@ -1172,7 +1172,7 @@
- Normal
+ Outline
@@ -1199,7 +1199,7 @@
- Normal
+ Outline
diff --git a/Output/Themes/Ambient/Screens/ScreenLoad.xml b/Output/Themes/Ambient/Screens/ScreenLoad.xml
index a85293a5..bda793ce 100644
--- a/Output/Themes/Ambient/Screens/ScreenLoad.xml
+++ b/Output/Themes/Ambient/Screens/ScreenLoad.xml
@@ -49,7 +49,7 @@
- Normal
+ Outline
TR_PROGRAM_NAME
@@ -76,7 +76,7 @@
- Normal
+ Outline
TR_SCREENLOAD_LOADING
@@ -103,7 +103,7 @@
- Normal
+ Outline
diff --git a/Output/Themes/Ambient/Screens/ScreenMain.xml b/Output/Themes/Ambient/Screens/ScreenMain.xml
index 63ed0825..41404cb8 100644
--- a/Output/Themes/Ambient/Screens/ScreenMain.xml
+++ b/Output/Themes/Ambient/Screens/ScreenMain.xml
@@ -65,7 +65,7 @@
- Normal
+ Outline
TR_SCREENMAIN_BUTTON_SING
@@ -120,7 +120,7 @@
- Normal
+ Outline
TR_SCREENMAIN_BUTTON_OPTIONS
@@ -175,7 +175,7 @@
- Normal
+ Outline
TR_SCREENMAIN_BUTTON_PROFILES
@@ -230,7 +230,7 @@
- Normal
+ Outline
TR_BUTTON_EXIT
diff --git a/Output/Themes/Ambient/Screens/ScreenNames.xml b/Output/Themes/Ambient/Screens/ScreenNames.xml
index 54e3df3c..0daa48e9 100644
--- a/Output/Themes/Ambient/Screens/ScreenNames.xml
+++ b/Output/Themes/Ambient/Screens/ScreenNames.xml
@@ -65,7 +65,7 @@
- Normal
+ Outline
TR_SCREENNAMES_MENU
@@ -93,7 +93,7 @@
- Normal
+ Outline
@@ -136,7 +136,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -191,7 +191,7 @@
- Normal
+ Outline
TR_BUTTON_START
@@ -246,7 +246,7 @@
- Normal
+ Outline
TR_SCREENNAMES_BUTTON_1PLAYER
@@ -293,7 +293,7 @@
- Normal
+ Outline
TR_SCREENNAMES_BUTTON_2PLAYER
@@ -340,7 +340,7 @@
- Normal
+ Outline
TR_SCREENNAMES_BUTTON_3PLAYER
@@ -410,7 +410,7 @@
186,00
- Normal
+ Outline
Bold
@@ -475,7 +475,7 @@
186,00
- Normal
+ Outline
Bold
@@ -540,7 +540,7 @@
186,00
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenOptions.xml b/Output/Themes/Ambient/Screens/ScreenOptions.xml
index 0099e067..9bf1033a 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptions.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptions.xml
@@ -49,7 +49,7 @@
- Normal
+ Outline
TR_SCREENO_OPTIONS
@@ -92,7 +92,7 @@
- Normal
+ Outline
TR_SCREENO_BUTTON_GAME
@@ -147,7 +147,7 @@
- Normal
+ Outline
TR_SCRENNO_BUTTON_SOUND
@@ -202,7 +202,7 @@
- Normal
+ Outline
TR_SCREENO_BUTTON_RECORD
@@ -257,7 +257,7 @@
- Normal
+ Outline
TR_SCREENO_BUTTON_VIDEO
@@ -312,7 +312,7 @@
- Normal
+ Outline
TR_SCREENO_BUTTON_THEME
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
index 3ae21688..0054fae4 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsGame.xml
@@ -145,7 +145,7 @@
- Normal
+ Outline
TR_SCREENOGAME_OPTIONS
@@ -172,7 +172,7 @@
- Normal
+ Outline
TR_SCREENOGAME_LANGUAGE
@@ -199,7 +199,7 @@
- Normal
+ Outline
TR_SCREENOGAME_DEBUGLEVEL
@@ -226,7 +226,7 @@
- Normal
+ Outline
TR_SCREENOGAME_SONGMENU
@@ -253,7 +253,7 @@
- Normal
+ Outline
TR_SCREENOGAME_SONGSORTING
@@ -280,7 +280,7 @@
- Normal
+ Outline
TR_SCREENOGAME_TABS
@@ -307,7 +307,7 @@
- Normal
+ Outline
TR_SCREENOGAME_TIMERMODE
@@ -350,7 +350,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -428,7 +428,7 @@
205,33
- Normal
+ Outline
Bold
@@ -493,7 +493,7 @@
205,33
- Normal
+ Outline
Bold
@@ -558,7 +558,7 @@
205,33
- Normal
+ Outline
Bold
@@ -623,7 +623,7 @@
205,33
- Normal
+ Outline
Bold
@@ -688,7 +688,7 @@
308,00
- Normal
+ Outline
Bold
@@ -753,7 +753,7 @@
205,33
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
index 3fdea73b..0e43d77c 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsRecord.xml
@@ -177,7 +177,7 @@
- Normal
+ Outline
TR_SCREENORECORD_OPTIONS
@@ -204,7 +204,7 @@
- Normal
+ Outline
TR_SCREENORECORD_DEVICE
@@ -231,7 +231,7 @@
- Normal
+ Outline
TR_SCREENORECORD_INPUT
@@ -258,7 +258,7 @@
- Normal
+ Outline
TR_SCREENORECORD_CHANNEL_1
@@ -285,7 +285,7 @@
- Normal
+ Outline
TR_SCREENORECORD_CHANNEL_2
@@ -312,7 +312,7 @@
- Normal
+ Outline
TR_SCREENORECORD_MIC_DELAY
@@ -340,7 +340,7 @@
- Normal
+ Outline
TR_SCREENORECORD_MIC_WARNING
@@ -367,7 +367,7 @@
- Normal
+ Outline
@@ -394,7 +394,7 @@
- Normal
+ Outline
@@ -437,7 +437,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -492,7 +492,7 @@
- Normal
+ Outline
TR_SCREENORECORD_BUTTON_DELAYTEST
@@ -570,7 +570,7 @@
616,00
- Normal
+ Outline
Bold
@@ -635,7 +635,7 @@
616,00
- Normal
+ Outline
Bold
@@ -700,7 +700,7 @@
154,00
- Normal
+ Outline
Bold
@@ -765,7 +765,7 @@
154,00
- Normal
+ Outline
Bold
@@ -830,7 +830,7 @@
123,20
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
index 259915bd..35751819 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsSound.xml
@@ -55,7 +55,7 @@
- Normal
+ Outline
TR_SCREENOSOUND_OPTIONS
@@ -82,7 +82,7 @@
- Normal
+ Outline
TR_SCREENOSOUND_BACKGROUNDMUSIC
@@ -109,7 +109,7 @@
- Normal
+ Outline
TR_SCREENOSOUND_BACKGROUNDMUSICVOLUME
@@ -136,7 +136,7 @@
- Normal
+ Outline
TR_SCREENOSOUND_BACKGROUNDMUSICSOURCE
@@ -179,7 +179,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -257,7 +257,7 @@
205,33
- Normal
+ Outline
Bold
@@ -322,7 +322,7 @@
205,33
- Normal
+ Outline
Bold
@@ -385,13 +385,13 @@
32,00
- 500
+ 500,00
- Normal
+ Outline
Bold
1
-
+
\ No newline at end of file
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
index 3517c5bd..ac972646 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsTheme.xml
@@ -161,7 +161,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_OPTIONS
@@ -188,7 +188,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_THEME
@@ -215,7 +215,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_SKIN
@@ -242,7 +242,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_COVERTHEME
@@ -269,7 +269,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_NOTELINES
@@ -296,7 +296,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_TONEHELPER
@@ -323,7 +323,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_TIMERLOOK
@@ -350,7 +350,7 @@
- Normal
+ Outline
TR_SCREENOTHEME_COVERLOADING
@@ -393,7 +393,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -471,7 +471,7 @@
616,00
- Normal
+ Outline
Bold
@@ -536,7 +536,7 @@
616,00
- Normal
+ Outline
Bold
@@ -601,7 +601,7 @@
308,00
- Normal
+ Outline
Bold
@@ -666,7 +666,7 @@
308,00
- Normal
+ Outline
Bold
@@ -731,7 +731,7 @@
308,00
- Normal
+ Outline
Bold
@@ -796,7 +796,7 @@
308,00
- Normal
+ Outline
Bold
@@ -861,7 +861,7 @@
616,00
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
index 686e2751..9d8b1bc1 100644
--- a/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
+++ b/Output/Themes/Ambient/Screens/ScreenOptionsVideo.xml
@@ -97,7 +97,7 @@
- Normal
+ Outline
TR_SCREENOVIDEO_OPTIONS
@@ -124,7 +124,7 @@
- Normal
+ Outline
TR_SCREENOVIDEO_VIDEOBACKGROUNDS
@@ -151,7 +151,7 @@
- Normal
+ Outline
TR_SCREENOVIDEO_VIDEOPREVIEW
@@ -178,7 +178,7 @@
- Normal
+ Outline
TR_SCREENOVIDEO_VIDEOINSONGS
@@ -248,7 +248,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -326,7 +326,7 @@
205,33
- Normal
+ Outline
Bold
@@ -391,7 +391,7 @@
205,33
- Normal
+ Outline
Bold
@@ -456,7 +456,7 @@
205,33
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenProfiles.xml b/Output/Themes/Ambient/Screens/ScreenProfiles.xml
index 7a6c788f..6f19efb6 100644
--- a/Output/Themes/Ambient/Screens/ScreenProfiles.xml
+++ b/Output/Themes/Ambient/Screens/ScreenProfiles.xml
@@ -145,7 +145,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_PROFILES
@@ -172,7 +172,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_PLAYERNAME
@@ -199,7 +199,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_GAMEDIFFICULTY
@@ -226,7 +226,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_AVATAR
@@ -253,7 +253,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_GUESTPROFILE
@@ -280,7 +280,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_ACTIVE
@@ -323,7 +323,7 @@
- Normal
+ Outline
@@ -370,7 +370,7 @@
- Normal
+ Outline
TR_BUTTON_BACK
@@ -425,7 +425,7 @@
- Normal
+ Outline
TR_BUTTON_SAVE
@@ -480,7 +480,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_BUTTON_NEW
@@ -535,7 +535,7 @@
- Normal
+ Outline
TR_SCREENPROFILES_BUTTON_DELETE
@@ -613,7 +613,7 @@
219,20
- Normal
+ Outline
Bold
@@ -678,7 +678,7 @@
208,67
- Normal
+ Outline
Bold
@@ -743,7 +743,7 @@
208,67
- Normal
+ Outline
Bold
@@ -808,7 +808,7 @@
313,00
- Normal
+ Outline
Bold
@@ -873,7 +873,7 @@
313,00
- Normal
+ Outline
Bold
diff --git a/Output/Themes/Ambient/Screens/ScreenScore.xml b/Output/Themes/Ambient/Screens/ScreenScore.xml
index d03c560d..1673c63e 100644
--- a/Output/Themes/Ambient/Screens/ScreenScore.xml
+++ b/Output/Themes/Ambient/Screens/ScreenScore.xml
@@ -398,7 +398,7 @@
- Normal
+ Outline
TR_SCREENSCORE_SCORES
@@ -425,7 +425,7 @@
- Normal
+ Outline
@@ -452,7 +452,7 @@
- Normal
+ Outline
@@ -479,7 +479,7 @@
- Normal
+ Outline
@@ -506,7 +506,7 @@
- Normal
+ Outline
@@ -533,7 +533,7 @@
- Normal
+ Outline
@@ -560,7 +560,7 @@
- Normal
+ Outline
@@ -587,7 +587,7 @@
- Normal
+ Outline
@@ -614,7 +614,7 @@
- Normal
+ Outline
@@ -641,7 +641,7 @@
- Normal
+ Outline
@@ -668,7 +668,7 @@
- Normal
+ Outline
@@ -695,7 +695,7 @@
- Normal
+ Outline
@@ -722,7 +722,7 @@
- Normal
+ Outline
@@ -749,7 +749,7 @@
- Normal
+ Outline
@@ -776,7 +776,7 @@
- Normal
+ Outline
@@ -803,7 +803,7 @@
- Normal
+ Outline
@@ -830,7 +830,7 @@
- Normal
+ Outline
@@ -857,7 +857,7 @@
- Normal
+ Outline
@@ -884,7 +884,7 @@
- Normal
+ Outline
@@ -911,7 +911,7 @@
- Normal
+ Outline
@@ -938,7 +938,7 @@
- Normal
+ Outline
@@ -965,7 +965,7 @@
- Normal
+ Outline
@@ -992,7 +992,7 @@
- Normal
+ Outline
@@ -1019,7 +1019,7 @@
- Normal
+ Outline
@@ -1046,7 +1046,7 @@
- Normal
+ Outline
@@ -1073,7 +1073,7 @@
- Normal
+ Outline
diff --git a/Output/Themes/Ambient/Screens/ScreenSing.xml b/Output/Themes/Ambient/Screens/ScreenSing.xml
index 935fb419..0e206c1d 100644
--- a/Output/Themes/Ambient/Screens/ScreenSing.xml
+++ b/Output/Themes/Ambient/Screens/ScreenSing.xml
@@ -611,7 +611,7 @@
- Normal
+ Outline
TR_SCREENSING_BUTTON_CANCEL
@@ -666,7 +666,7 @@
- Normal
+ Outline
TR_SCREENSING_BUTTON_CONTINUE
diff --git a/Output/Themes/Ambient/Screens/ScreenSong.xml b/Output/Themes/Ambient/Screens/ScreenSong.xml
index 2d0cfcfb..f693065d 100644
--- a/Output/Themes/Ambient/Screens/ScreenSong.xml
+++ b/Output/Themes/Ambient/Screens/ScreenSong.xml
@@ -74,7 +74,7 @@
- Normal
+ Outline
@@ -106,7 +106,7 @@
- Normal
+ Outline
@@ -137,7 +137,7 @@
- Normal
+ Outline
TR_SCREENSONG_SEARCH
@@ -164,7 +164,7 @@
- Normal
+ Outline
@@ -229,7 +229,7 @@
- Normal
+ Outline
@@ -257,7 +257,7 @@
- Normal
+ Outline
@@ -285,7 +285,7 @@
- Normal
+ Outline
diff --git a/Output/Themes/Changelog/Changelog_ThemeSystem.txt b/Output/Themes/Changelog/Changelog_ThemeSystem.txt
index 43e7ac09..0da5e6f1 100644
--- a/Output/Themes/Changelog/Changelog_ThemeSystem.txt
+++ b/Output/Themes/Changelog/Changelog_ThemeSystem.txt
@@ -1,5 +1,18 @@
Theme System
+++++++++++
+Version 5:
+
+Added:
+ outline thickness 0..1
+ outline color red
+ outline color green
+ outline color blue
+ outline color alpha
+
+to Fonts
+
+
++++++++++
Version 4:
diff --git a/README b/README
index e69de29b..071051a3 100644
--- a/README
+++ b/README
@@ -0,0 +1,50 @@
+ __ __ _
+ \ \ / /__ ___ __ _| |_ ___ _____
+ \ \ / / _ \ / __/ _` | | | | \ \/ / _ \
+ \ V / (_) | (_| (_| | | |_| |> < __/
+ \_/ \___/ \___\__,_|_|\__,_/_/\_\___|
+
+
+=================================
+= 1. About =
+= 2. Download =
+= 3. Development Guidelines =
+= 4. Help & Support =
+=================================
+
+
+=================================
+= 1. About =
+=================================
+Vocaluxe is a free and open source singing game. It allows up to three players (currently) to sing along with music using microphones in order to score points, depending on the pitch of the voice and the rhythm of singing.
+
+Vocaluxe is an entirely new development in C#, inspired by the original UltraStar (developed by corvus5) and the great Ultrastar Deluxe project.
+
+Supported Operating Systems / Requirements:
+- WinXP, Vista, Windows 7 with .NET 2.0
+- 1 GHz CPU, 512 MB RAM, Graphics card with OpenGL 2.1 or DirectX 9.0 support
+
+
+=================================
+= 2. Download =
+=================================
+You can donwloadn precompiles Windows binaries at SourceForge:
+
+Download: http://sourceforge.net/projects/vocaluxe/
+
+
+=================================
+= 3. Development Guidelines =
+=================================
+The development of Vocaluxe uses this git branching model:
+
+ http://nvie.com/posts/a-successful-git-branching-model/
+
+
+=================================
+= 4. Help & Suppport =
+=================================
+GitHub Wiki: https://github.com/Vocaluxe/Vocaluxe/wiki
+GitGub Issues Tracker: https://github.com/Vocaluxe/Vocaluxe/issues
+Support Forum (German): http://www.ultra-star.de
+Song-DataBase (USDB): http://usdb.animux.de/
\ No newline at end of file
diff --git a/Vocaluxe/Base/CFont.cs b/Vocaluxe/Base/CFont.cs
index 9841e1dd..16eb4208 100644
--- a/Vocaluxe/Base/CFont.cs
+++ b/Vocaluxe/Base/CFont.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
+using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.IO;
@@ -38,6 +39,7 @@ namespace Vocaluxe.Base
public CGlyph(char chr)
{
+ float outline = CFonts.Outline;
TextFormatFlags flags = TextFormatFlags.NoPadding | TextFormatFlags.NoPrefix;
float factor = GetFactor(chr, flags);
@@ -53,19 +55,53 @@ namespace Vocaluxe.Base
g.Dispose();
bmp.Dispose();
- bmp = new Bitmap((int)(sizeB.Width * 1.5f), sizeB.Height);
+ bmp = new Bitmap((int)(sizeB.Width * 2f), sizeB.Height);
g = System.Drawing.Graphics.FromImage(bmp);
g.Clear(System.Drawing.Color.Transparent);
+ g.SmoothingMode = SmoothingMode.AntiAlias;
+ g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
CFonts.Height = SIZEh;
fo = CFonts.GetFont();
- g.DrawString(chr.ToString(), fo, Brushes.White, new PointF((sizeB.Width - size.Width) / 2f, (sizeB.Height - size.Height - (size.Height + SIZEh/4f) * (1f - factor)) / 2f));
+
+ PointF point = new PointF(
+ outline * Math.Abs(sizeB.Width - size.Width) + (sizeB.Width - size.Width) / 2f + SIZEh / 5f,
+ (sizeB.Height - size.Height - (size.Height + SIZEh/4f) * (1f - factor)) / 2f);
+
+ GraphicsPath path = new GraphicsPath();
+ path.AddString(
+ chr.ToString(),
+ fo.FontFamily,
+ (int)fo.Style,
+ SIZEh,
+ point,
+ new StringFormat());
+
+ Pen pen = new Pen(
+ Color.FromArgb(
+ (int)CFonts.OutlineColor.A * 255,
+ (int)CFonts.OutlineColor.R * 255,
+ (int)CFonts.OutlineColor.G * 255,
+ (int)CFonts.OutlineColor.B * 255),
+ SIZEh * outline);
+
+ pen.LineJoin = LineJoin.Round;
+ g.DrawPath(pen, path);
+ g.FillPath(Brushes.White, path);
+
+ /*
+ g.DrawString(
+ chr.ToString(),
+ fo,
+ Brushes.White,
+ point);
+ * */
Texture = CDraw.AddTexture(bmp);
-
+ //bmp.Save("test.png", ImageFormat.Png);
Chr = chr;
- width = (int)(sizeB.Width * Texture.width/factor / bmp.Width);
+ width = (int)((1f + outline / 2f) * sizeB.Width * Texture.width/factor / bmp.Width);
bmp.Dispose();
g.Dispose();
@@ -146,7 +182,8 @@ namespace Vocaluxe.Base
CFonts.Height = h;
CGlyph glyph = _Glyphs[(int)_htGlyphs[chr]];
float factor = h / glyph.Texture.height;
- CDraw.DrawTexture(glyph.Texture, new SRectF(x, y, glyph.Texture.width * factor, h, z), color);
+ float d = glyph.SIZEh / 5f * factor;
+ CDraw.DrawTexture(glyph.Texture, new SRectF(x - d, y, glyph.Texture.width * factor, h, z), color);
}
public void DrawGlyphReflection(char chr, float x, float y, float h, float z, SColorF color, float rspace, float rheight)
@@ -156,7 +193,8 @@ namespace Vocaluxe.Base
CFonts.Height = h;
CGlyph glyph = _Glyphs[(int)_htGlyphs[chr]];
float factor = h / glyph.Texture.height;
- SRectF rect = new SRectF(x, y, glyph.Texture.width * factor, h, z);
+ float d = glyph.SIZEh / 5f * factor;
+ SRectF rect = new SRectF(x - d, y, glyph.Texture.width * factor, h, z);
CDraw.DrawTextureReflection(glyph.Texture, rect, color, rect, rspace, rheight);
}
@@ -168,8 +206,9 @@ namespace Vocaluxe.Base
CGlyph glyph = _Glyphs[(int)_htGlyphs[chr]];
float factor = h / glyph.Texture.height;
float width = glyph.Texture.width * factor;
-
- CDraw.DrawTexture(glyph.Texture, new SRectF(x, y, width, h, z), color, begin, end);
+ float d = glyph.SIZEh / 5f * factor;
+
+ CDraw.DrawTexture(glyph.Texture, new SRectF(x - d, y, width, h, z), color, begin, end);
}
public float GetWidth(char chr)
@@ -215,6 +254,9 @@ namespace Vocaluxe.Base
public string FileBold;
public string FileBoldItalic;
+ public float Outline; //0..1, 0=not outline 1=100% outline
+ public SColorF OutlineColor;
+
public CFont Normal;
public CFont Italic;
public CFont Bold;
@@ -252,6 +294,30 @@ namespace Vocaluxe.Base
}
}
+ public static float Outline
+ {
+ get { return _Fonts[_CurrentFont].Outline; }
+ set
+ {
+ SFont font = _Fonts[_CurrentFont];
+ font.Outline = value;
+ if (font.Outline < 0f)
+ font.Outline = 0f;
+ if (font.Outline > 1f)
+ font.Outline = 1f;
+ }
+ }
+
+ public static SColorF OutlineColor
+ {
+ get { return _Fonts[_CurrentFont].OutlineColor; }
+ set
+ {
+ SFont font = _Fonts[_CurrentFont];
+ font.OutlineColor = value;
+ }
+ }
+
public static void Init()
{
_settings.Indent = true;
@@ -610,6 +676,15 @@ namespace Vocaluxe.Base
f = new CFont(value);
sf.BoldItalic = f;
+ sf.Outline = 0f;
+ CHelper.TryGetFloatValueFromXML("//root/Font" + i.ToString() + "/Outline", navigator, ref sf.Outline);
+
+ sf.OutlineColor = new SColorF(0f, 0f, 0f, 1f);
+ CHelper.TryGetFloatValueFromXML("//root/Font" + i.ToString() + "/OutlineColorR", navigator, ref sf.OutlineColor.R);
+ CHelper.TryGetFloatValueFromXML("//root/Font" + i.ToString() + "/OutlineColorG", navigator, ref sf.OutlineColor.G);
+ CHelper.TryGetFloatValueFromXML("//root/Font" + i.ToString() + "/OutlineColorB", navigator, ref sf.OutlineColor.B);
+ CHelper.TryGetFloatValueFromXML("//root/Font" + i.ToString() + "/OutlineColorA", navigator, ref sf.OutlineColor.A);
+
_Fonts.Add(sf);
i++;
}
@@ -662,6 +737,15 @@ namespace Vocaluxe.Base
f = new CFont(value);
sf.BoldItalic = f;
+ sf.Outline = 0f;
+ ok &= CHelper.TryGetFloatValueFromXML("//root/Fonts/Font" + i.ToString() + "/Outline", navigator, ref sf.Outline);
+
+ sf.OutlineColor = new SColorF(0f, 0f, 0f, 1f);
+ ok &= CHelper.TryGetFloatValueFromXML("//root/Fonts/Font" + i.ToString() + "/OutlineColorR", navigator, ref sf.OutlineColor.R);
+ ok &= CHelper.TryGetFloatValueFromXML("//root/Fonts/Font" + i.ToString() + "/OutlineColorG", navigator, ref sf.OutlineColor.G);
+ ok &= CHelper.TryGetFloatValueFromXML("//root/Fonts/Font" + i.ToString() + "/OutlineColorB", navigator, ref sf.OutlineColor.B);
+ ok &= CHelper.TryGetFloatValueFromXML("//root/Fonts/Font" + i.ToString() + "/OutlineColorA", navigator, ref sf.OutlineColor.A);
+
if (ok)
_Fonts.Add(sf);
else
@@ -698,6 +782,13 @@ namespace Vocaluxe.Base
writer.WriteElementString("Name", _Fonts[Index].Name);
writer.WriteElementString("Folder", _Fonts[Index].Folder);
+
+ writer.WriteElementString("Outline", _Fonts[Index].Outline.ToString("#0.00"));
+ writer.WriteElementString("ColorR", _Fonts[Index].OutlineColor.R.ToString("#0.00"));
+ writer.WriteElementString("ColorG", _Fonts[Index].OutlineColor.G.ToString("#0.00"));
+ writer.WriteElementString("ColorB", _Fonts[Index].OutlineColor.B.ToString("#0.00"));
+ writer.WriteElementString("ColorA", _Fonts[Index].OutlineColor.A.ToString("#0.00"));
+
writer.WriteElementString("FileNormal", _Fonts[Index].FileNormal);
writer.WriteElementString("FileBold", _Fonts[Index].FileBold);
writer.WriteElementString("FileItalic", _Fonts[Index].FileItalic);
diff --git a/Vocaluxe/Base/CLanguage.cs b/Vocaluxe/Base/CLanguage.cs
index cf118839..6b209bba 100644
--- a/Vocaluxe/Base/CLanguage.cs
+++ b/Vocaluxe/Base/CLanguage.cs
@@ -77,6 +77,9 @@ namespace Vocaluxe.Base
public static string Translate(string KeyWord)
{
+ if (KeyWord == null)
+ return null;
+
if (KeyWord.Length < 3)
return KeyWord;
diff --git a/Vocaluxe/Base/CTheme.cs b/Vocaluxe/Base/CTheme.cs
index d28064da..639ebdac 100644
--- a/Vocaluxe/Base/CTheme.cs
+++ b/Vocaluxe/Base/CTheme.cs
@@ -82,7 +82,7 @@ namespace Vocaluxe.Base
static class CTheme
{
// Version number for main theme and skin files. Increment it, if you've changed something on the theme files!
- const int ThemeSystemVersion = 4;
+ const int ThemeSystemVersion = 5;
const int SkinSystemVersion = 3;
#region Vars
diff --git a/Vocaluxe/Doc/Roadmap.txt b/Vocaluxe/Doc/Roadmap.txt
index 66024f04..5cbb31b5 100644
--- a/Vocaluxe/Doc/Roadmap.txt
+++ b/Vocaluxe/Doc/Roadmap.txt
@@ -81,41 +81,27 @@
- WiiMote Support
- Jukebox light (bg music controls)
- Show Avatars and Player Name in Sing Screen (and perhaps some other screens)
-
-+ v0.3.0:
- - Song Editor
- - Help System
- - Duet (full support)
- - Mark newly added songs
- - Playlist-Support
- - Theme System Update (Theme Editor)
-
-+ v0.4.0:
- - Challenge Mode (with more than 2 player at once)
- - More Player at once
-
-+ v0.5.0:
- - Party Mode: Team-Battle
- - Party Mode: Tic, Tac, Toe
- - Party Mode: 4 in a row
-
-+ v0.6.0:
- - Jukebox
-
-+ v0.7.0:
- - Tournament Mode
-
-+ v0.8.0:
- - Party Mode: Casting Show
-
-+ v0.9.0:
- - ?
-
-+ v1.0.0:
- - ?
-
+ - New Lyric Effects
+
-----------------
just some ideas:
+ - Installer
+ - More Song List Views
+ - Tile Board: Show title and artist under each tile
- OnScreen Keyboard?
- - Kinect Support?
\ No newline at end of file
+ - Kinect Support?
+ - Help System
+ - Party Mode: Casting Show
+ - More Player at once
+ - Mark newly added songs
+ - Playlist-Support
+ - Theme Editor
+ - Jukebox
+ - Tournament Mode
+ - Party Mode: Team-Battle
+ - Party Mode: Tic, Tac, Toe
+ - Party Mode: 4 in a row
+ - Challenge Mode (with more than 2 player at once)
+ - Song Editor
+ - Duet (full support, choose/toggle names)
\ No newline at end of file
diff --git a/Vocaluxe/Lib/Sound/CPortAudioPlay.cs b/Vocaluxe/Lib/Sound/CPortAudioPlay.cs
index dc23bc91..ad2122f0 100644
--- a/Vocaluxe/Lib/Sound/CPortAudioPlay.cs
+++ b/Vocaluxe/Lib/Sound/CPortAudioPlay.cs
@@ -843,7 +843,7 @@ namespace Vocaluxe.Lib.Sound
float latency = buf.Length / _BytesPerSecond + CConfig.AudioLatency/1000f;
float time = _TimeCode - _data.BytesNotRead / _BytesPerSecond - latency;
- _CurrentTime = time; // _SyncTimer.Update(time);
+ _CurrentTime = _SyncTimer.Update(time);
}
try
diff --git a/Vocaluxe/Menu/CText.cs b/Vocaluxe/Menu/CText.cs
index 770a40f3..c0c95948 100644
--- a/Vocaluxe/Menu/CText.cs
+++ b/Vocaluxe/Menu/CText.cs
@@ -423,6 +423,9 @@ namespace Vocaluxe.Menu
CurrentColor = new SColorF(SColor);
SColorF color = new SColorF(CurrentColor.R, CurrentColor.G, CurrentColor.B, CurrentColor.A * Alpha);
+
+ CFonts.SetFont(Fon);
+ CFonts.Style = Style;
CFonts.DrawText(CLanguage.Translate(Text), h, x, y, Z, color);
if (Reflection)
@@ -461,6 +464,9 @@ namespace Vocaluxe.Menu
CurrentColor = new SColorF(SColor);
SColorF color = new SColorF(CurrentColor.R, CurrentColor.G, CurrentColor.B, CurrentColor.A * Alpha);
+
+ CFonts.SetFont(Fon);
+ CFonts.Style = Style;
CFonts.DrawText(Text, Height, x, Y, Z, color, begin, end);
if (Reflection)
@@ -520,6 +526,9 @@ namespace Vocaluxe.Menu
CurrentColor = new SColorF(SColor);
SColorF color = new SColorF(CurrentColor.R, CurrentColor.G, CurrentColor.B, CurrentColor.A * Alpha);
+
+ CFonts.SetFont(Fon);
+ CFonts.Style = Style;
CFonts.DrawText(CLanguage.Translate(Text), h, x, y, Z, color);
if (reflection)
diff --git a/Vocaluxe/Menu/SongMenu/CSongMenuFramework.cs b/Vocaluxe/Menu/SongMenu/CSongMenuFramework.cs
index 43cd6f28..7c5c069e 100644
--- a/Vocaluxe/Menu/SongMenu/CSongMenuFramework.cs
+++ b/Vocaluxe/Menu/SongMenu/CSongMenuFramework.cs
@@ -394,7 +394,7 @@ namespace Vocaluxe.Menu.SongMenu
if (_streams.Count > 0 && _video != -1)
{
- if (CVideo.VdFinished(_video))
+ if (CVideo.VdFinished(_video) || CSound.IsFinished(_actsongstream))
{
CVideo.VdClose(_video);
_video = -1;