diff --git a/.appveyor/gitDescribe.ps1 b/.appveyor/gitDescribe.ps1
index 98fe26ca..2181f00e 100644
--- a/.appveyor/gitDescribe.ps1
+++ b/.appveyor/gitDescribe.ps1
@@ -1,6 +1,6 @@
if($Env:APPVEYOR_PULL_REQUEST_NUMBER)
{
- $Env:VersionTag = "PR_$Env:APPVEYOR_PULL_REQUEST_NUMBER"
+ $Env:VersionTag = "0.0.0-na-PR_$Env:APPVEYOR_PULL_REQUEST_NUMBER"
Return $Env:VersionTag
}
diff --git a/Output/Languages/Asturian.xml b/Output/Languages/Asturian.xml
deleted file mode 100644
index fb85669c..00000000
--- a/Output/Languages/Asturian.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- Asturianu
- Vocaluxe
- y
- Colar
- Atroxar
- Tornar
- Entamar
- Testures
- Volume máximu
- Sones cargaes
- Mur
- Normal
- Duetu
- Versión curtia
- Super estrella
- Cantante llider
- Estrella n\'ascensu
- Esperanzáu
- Amateur
- Software
- OpenGL
- Lowest
- Baxo
- Medio
- Alto
- Llo más alto
- Apagáu
- Enceso
- Solo FPS
- Nivel 1
- Nivel 2
- NIvel 3
- Max
- Llista
- Nel aniciu
- Al debalu
- Carpeta
- Artista
- Lletra l\'artista
- Títulu la lletra
- Edición
- Xéneru
- Añu
- Década
- Llingua
- Cenciello
- Normal
- Difícil
- Anguaño
- Faltante
- Total
- Normal
-
diff --git a/Output/Languages/Czech.xml b/Output/Languages/Czech.xml
index 67132acc..a34fe68f 100644
--- a/Output/Languages/Czech.xml
+++ b/Output/Languages/Czech.xml
@@ -1,6 +1,6 @@
- čeština
+ Čeština
Vocaluxe
a
Ukončit
@@ -11,7 +11,7 @@
Obrazové proudy
Textury
ToneAbs
- Nevětší hlasitost
+ Největší hlasitost
Nahrané písně
Myš
Využití paměti
@@ -28,7 +28,7 @@
Amatér
Neumětel - nemající hudební sluch
Host
- Obyčejný uživatel
+ Normální uživatel
Správce
Uživatel klávesnice
Software
@@ -46,6 +46,7 @@
Úroveň 2
Úroveň 3
Nejvíce
+ Seznam
Drejdl (čtyřboká kostka)
Herní deska
Kniha
@@ -79,6 +80,10 @@
Vše
Pouze jména a zastupující obrázky
Nic
+ Vyplnit
+ Skočit
+ Sklouznout
+ Zvětšení
Dole
Nahoře
Nahoře a dole
@@ -107,12 +112,12 @@
Počet hráčů
Výběr hráče
Hráč
- Hráč 1
- Hráč 2
- Hráč 3
- Hráč 4
- Hráč 5
- Hráč 6
+ 1 hráč
+ 2 hráči
+ 3 hráči
+ 4 hráči
+ 5 hráčů
+ 6 hráčů
Varování: Hráči %v není přiřazen žádný mikrofon!
Varování: Hráčům %v nejsou přiřazeny žádné mikrofony!
Varování: Hráči %v není přiřazen žádný profil!
@@ -162,7 +167,7 @@
Uložit snímek obrazovky
Smazat snímek obrazovky
Kamera
- Nastavení nabídky
+ Nastavení
Hra
Zvuk
Nahrávání
@@ -181,6 +186,12 @@
Nastavení nahrávání
Zařízení
Vstup
+ Hráč 1
+ Hráč 2
+ Hráč 3
+ Hráč 4
+ Hráč 5
+ Hráč 6
Zpoždění mikrofonu
Varování: Alespoň jeden hráčům je přiřazen ke dvěma mikrofonům.
Zkouška zpoždění
@@ -196,11 +207,11 @@
Téma obalu
Ukázat notové linky
Ukázat pomocníka s tónem
- Vzhled časomíry
- Zesílit/Zeslabit informace přehrávače
+ Režim časomíry
+ Prolínat informace přehrávače
Chování nahrávání obalu
Nastavení textu písně
- Styl
+ Styl animace
Poloha textu písně
Nastavení obrazu
Pozadí obrazu
@@ -210,7 +221,7 @@
Kamery
Rozlišení kamery
Přizpůsobení obrazovky
- Stiskněte Ctrl + Alt (+ Shift) + šipky|\"+\" pro upravení obrazovky
+ Stiskněte Ctrl + Alt (+ Shift) + šipky pro upravení obrazovky
Ctrl + Alt + 0 pro vrácení úprav zpět na výchozí hodnoty
Nahoře vlevo
Nahoře vpravo
diff --git a/Output/Languages/Dutch.xml b/Output/Languages/Dutch.xml
index a83aa554..b05de898 100644
--- a/Output/Languages/Dutch.xml
+++ b/Output/Languages/Dutch.xml
@@ -46,6 +46,7 @@
Niveau 2
Niveau 3
Max
+ Liste
Dreidel
Tegels
Boek
@@ -181,6 +182,12 @@
Opname-opties
Apparaat
Input
+ Speler 1
+ Speler 2
+ Speler 3
+ Speler 4
+ Speler 5
+ Speler 6
Microfoonvertraging
Waarschuwing: Ten minste één speler is toegewezen aan twee microfoons.
Vertragingstest
@@ -210,7 +217,7 @@
Webcams
Webcam resolutie
Beeldscherm aanpassingen
- Druk Ctrl+ Alt (+ Shift) + pijltjestoetsen|\"+\" om het scherm aan te passen.
+ Druk Ctrl+ Alt (+ Shift) + pijltjestoetsen|"+" om het scherm aan te passen.
Ctrl + Alt + 0 om te herstellen
Top links
Top rechts
diff --git a/Output/Languages/English.xml b/Output/Languages/English.xml
index 27174a7d..42ccc206 100644
--- a/Output/Languages/English.xml
+++ b/Output/Languages/English.xml
@@ -106,7 +106,7 @@
Description
Author
Version
- Can\'t load this party-mode.
+ Can't load this party-mode.
There are no mics configured!
%d mics are required for this party-mode!
Target audience
diff --git a/Output/Languages/French.xml b/Output/Languages/French.xml
index 371b3e07..fe0c7149 100644
--- a/Output/Languages/French.xml
+++ b/Output/Languages/French.xml
@@ -56,7 +56,7 @@
Aléatoire
Dossier
Artiste
- Initiale d'Artiste
+ Initiale d'Artist
Initiale de Titre
Edition
Genre
@@ -181,6 +181,12 @@
Options d'Enregistrement
Appareil
Entrée
+ Joueur 1
+ Joueur 2
+ Joueur 3
+ Joueur 4
+ Joueur 5
+ Joueur 6
Retard du Micro
Attention: Au moins un des joueurs est assigné à 2 micros.
Test du Retard
@@ -209,7 +215,7 @@
Afficher la vidéo de la musique de fond
Webcams
Résolution de la Webcam
- Ajustements de l'écran
+ Ajustements de l'écra
Appuyer sur CTRL + ALT (+ Maj) + Flèches|"+" pour ajuster l'écran
CTRL + ALT + 0 pour annuler
Haut gauche
diff --git a/Output/Languages/German.xml b/Output/Languages/German.xml
index 0463d7ca..edf6ea25 100644
--- a/Output/Languages/German.xml
+++ b/Output/Languages/German.xml
@@ -11,7 +11,7 @@
Video-Streams
Textures
ToneAbs
- Max. Volume
+ Max Lautstärke
Geladene Songs
Maus
Speicherverbrauch
@@ -30,7 +30,7 @@
Gast
Normaler Benutzer
Administrator
- Tastatur
+ Tastatur Benutzer
Software
OpenGL
Direct3D
@@ -46,20 +46,20 @@
Level 2
Level 3
Maximal
- Song-Liste
- Song-Liste & Record
+ Liste
+ Liste & Record
Dreidel
- TileBoard
+ Kacheln
Book
- Bei Bedarf
- Bei Programmstart
+ Auf Abruf
+ Beim Start
Dynamisch
Keine
Zufällig
Ordner
Artist
- Artist Buchstabe
- Titel Buchstabe
+ Artist-Buchstabe
+ Titel-Buchstabe
Edition
Genre
Jahr
@@ -74,6 +74,8 @@
Gesamt
Normal
Erweitert
+ Alle auflisten
+ Bester Spieler-Score
Eigene Musik und Hintergrundmusik
Keine eigene Musik
Nur eigene Musik
@@ -81,6 +83,10 @@
Alle
Nur Namen und Avatar
Keine
+ Füllen
+ Springen
+ Schieben
+ Zoom
Unten
Oben
Oben und Unten
@@ -134,7 +140,7 @@
Neue Playlist
Lied-Optionen
Suche:
- Ohne Sprache
+ Keine Sprache
Ohne Jahr
Ohne Genre
Ohne Edition
@@ -153,16 +159,16 @@
Gesamtpunktzahl
Highscore
Profile
- Spieler-Name
+ Spielername
Schwierigkeit
Avatar
Benutzerrolle
Aktiv
Neu
Löschen
- Snapshot
- Snapshot speichern
- Snapshot löschen
+ Schnappschuss aufnehmen
+ Schnappschuss speichern
+ Schnappschuss löschen
Webcam
Einstellungen
Spiel
@@ -175,11 +181,12 @@
Spieleinstellungen
Sprache
Debug-Level
- Song-Menü
- Song-Sortierung
+ Song-Menu-Stil
+ Sortierung der Lieder
Kategorieren anzeigen
Schwierigkeit
- Timer-Modus
+ Zeit-Modus
+ Highscore-Stil
Aufnahmeeinstellungen
Soundkarte
Eingang
@@ -189,37 +196,38 @@
Spieler 4
Spieler 5
Spieler 6
- Mikrofon-Verzögerung
+ Mikrofonverzögerung
Warnung: Momentan sind einem Spieler zwei Mikrofone zugeordnet!
Verzögerungs-Test
- Soundeinstellungen
+ Sound Einstellungen
Hintergrundmusik
- Hintergrundmusiklautstärke
- Hintergrundmusikquelle
- Vorschaulautstärke
- Spiellautstärke
+ Lautstärke der Hintergrundmusik
+ Quelle der Hintergrundmusik
+ Lautstärke der Vorschau
+ Lautstärke des Spiels
+ Karaoke Effekt
Designeinstellungen
Design
Skin
Cover-Theme
- Noten-Linien anzeigen
+ Notenlinien anzeigen
Ton-Helfer anzeigen
- Aussehen des Timers
- Spieler-Infos ein/ausblenden
- Cover Ladeverhalten
+ Zeitleisten-Modus
+ Spieler-Informationen einblenden
+ Verhalten beim Laden der Cover
Songtexteinstellungen
- Stil
+ Lyrics-Animation
Lyrics Position
Videoeinstellungen
Video-Hintergründe
Video-Vorschau
Videos während des Singens
- Zeige Video zur Hintergrundmusik
+ Aktuelles Hintergrundvideo anzeigen
Webcams
Webcam-Auflösung
- Anzeigeanpassungen
- STRG + ALT (+ SHIFT) + Pfeiltasten oder "+" drücken um den Bildschirm zu justieren.
- STRG + ALT + 0 um die Änderungen zurückzusetzen.
+ Bildschirm anpassen
+ STRG + ALT (+ UMSCHALT) + Pfeile drücken, um Bildschirm anzupassen
+ STRG + ALT + 0 um Einstellungen zurückzusetzen
Oben links
Oben rechts
Unten links
diff --git a/Output/Languages/Hungarian.xml b/Output/Languages/Hungarian.xml
index 4b53a152..e15833b7 100644
--- a/Output/Languages/Hungarian.xml
+++ b/Output/Languages/Hungarian.xml
@@ -11,7 +11,7 @@
Video streams
Textúrák
ToneAbs
- Max Hangerő
+ Max hangerő
Betöltött dalok
Egér
Memóriahasználat
@@ -30,6 +30,7 @@
Vendég
Normál felhasználó
Adminisztrátor
+ Billentyűzetkezelő
Szoftveres
OpenGL
Direct3D
@@ -45,18 +46,19 @@
2. Szint
3. Szint
Max
+ Lista
Körhinta
- Csempe
+ Csempék
Könyv
- Amikor Szükséges
- Indulásnál
+ Dinamikusan
+ Indításnál
Dinamikusan
Nincs
Véletlenszerű
Könyvtár
Előadó
- Előadó Betűrendben
- Cím Betűrendben
+ Előadó betűrend szerint
+ Cím betűrend szerint
Kiadás
Műfaj
Év
@@ -71,13 +73,17 @@
Összes
Normál
Kibővített
- Saját és Háttérzene
- Nincs Saját Zene
- Csak Saját zene
+ Saját- és háttérzene
+ Saját zenét ne
+ Csak saját zenét
Csak a kiválasztott dal
Mindent
Csak Nevek és Profilképek
Semmit
+ Kiszínezés
+ Ugrás
+ Csúsztatás
+ Nagyítás
Alul
Felül
Felül és alul
@@ -88,55 +94,56 @@
betöltve
Főmenü
Éneklés
- Buli
+ Parti
Beállítások
Profilok
Nincsenek profilok!
- Parti Mód Választás
+ Parti mód választás
Parti Mód
Leírás
Készítő
Verzió
Nem Betölthető Parti Mód.
Nincs mikrofon beállítva!
+ %d mikrofon szükséges ehhez a parti-módhoz
Célközönség
Csapatok Nélkül
Csapatok Száma
Játékosok Száma
Játékos Választás
Játékos
- Játékos 1
- Játékos 2
- Játékos 3
- Játékos 4
- Játékos 5
- Játékos 6
+ 1 játékos
+ 2 játékos
+ 3 játékos
+ 4 játékos
+ 5 játékos
+ 6 játékos
Figyelem: Nincs mikrofon csatlakoztatva a következő játékoshoz %v!
Figyelem: Nincsenek mikrofonok csatlakoztatva a következő játékosokhoz %v!
Figyelem: Nincs profil hozzárendelve a következő játékoshoz %v!
Figyelem: Nincsenek profilok hozzárendelve a következő játékosokhoz %v!
Dalválasztás
Éneklés
- Listához Hozzáadás
+ Hozzáadás a lejátszási listához
Bezárás
Véletlenszerű Dal Kiválasztása
Véletlenszerű Kategória Kiválasztása
- Összes Dal Éneklése
+ Minden dal éneklése
Itt látható Dalok Éneklése
- Lista Megnyitása
+ Lejátszási lista megnyitása
Kiválaszt
Véletlenszerű Dalrészlet Éneklése
Dalrészletek Éneklése
- Új Lista
+ Új lejátszási lista
Dalbeállítások
Keresés:
- Nincs Nyelv
+ Nincs nyelv
Nincs Év
Nincs Műfaj
Nincs Kiadás
Minden Dal
- (%v Dal)
- (%v Dal)
+ (%v dal)
+ (%v dal)
%a - %t
Szünet
Befejezés
@@ -149,18 +156,18 @@
Összpontszám
Eredménylista
Profilok
- Játékos Neve
- Nehézségi Szint
+ Játékos neve
+ Nehézségi szint
Profilkép
- Szerepkor
+ Szerepkör
Jelenlegi
Új
Törlés
- Pillanatkép Készítése
- Pillanatkép Mentése
- Pillanatkép Törlése
+ Pillanatkép készítése
+ Pillanatkép mentése
+ Pillanatkép törlése
Webkamera
- Menü Beállítások
+ Beállítások
Játék
Hang
Mikrofon
@@ -170,44 +177,51 @@
Szerver címe
Játék Beállítások
Nyelv
- Debug Level
- Dal Menü
- Dalok Rendezése
+ Hibakeresési mód
+ Dalválasztó stílusa
+ Dalok rendezése
Rendezés
- Játék Nehézsége
- Idő Mutatás
+ Nehézségi szint
+ Idő mutatása
Mikrofon Beállítások
Eszköz
Bemenet
- Mikrofon Késleltetés
+ 1. játékos
+ 2. játékos
+ 3. játékos
+ 4. játékos
+ 5. játékos
+ 6. játékos
+ Mikrofon késleltetés
Figyelem: Egy játékos két mikrofont használ.
- Késleltetés Tesztelése
+ Késleltetés tesztelése
Hang Beállítások
Háttérzene
- Háttérzene Hangereje
- Háttérzene Forrása
- Előnézeti Zene Hangereje
- Zene Hangereje
+ Háttérzene hangereje
+ Háttérzene forrása
+ Előlnézeti zene hangereje
+ Játékbeli zene hangereje
Téma Beállítások
Téma
Kinézet
- Borító Téma
- Kotta Mutatása
- Hangmagasság Segítő Mutatása
- Idősáv Nézete
- Játékos Infó Halványan
- Borító Betöltés
+ Borító téma
+ Kottavonalak mutatása
+ Hangmagasság-segítő mutatása
+ Idősáv
+ Játékos infó halványítása
+ Borító betöltés
Dalszöveg Beállítások
- Stílus
+ Animációs stílus
Dalszöveg helyzete
Képi Beállítások
- Animált Háttér
- Videó Előnézet
+ Videóháttér
+ Videó előnézet
Videó Éneklés Közben
- Jelenlegi Háttérzene Videó Mutatása
+ Jelenlegi háttérzene videójának mutatása
Webkamerák
- Webkamera-felbontás
- Képernyő pozicionálás
+ Webkamera felbontása
+ Képernyő pozícionálás
+ Pozícionálás: CTRL + ALT (+SHIFT) + Nyilak
Visszaállítás: CTRL + ALT + 0
Bal felső
Jobb felső
diff --git a/Output/Languages/Italian.xml b/Output/Languages/Italian.xml
index df414128..8fce81fc 100644
--- a/Output/Languages/Italian.xml
+++ b/Output/Languages/Italian.xml
@@ -46,12 +46,11 @@
Livello 2
Livello 3
Max
- Lista canzoni
Dreidel
Scacchiera
Libro
Su richiesta
- All\'avvio
+ All'avvio
Dinamico
Nessuno
Casuale
@@ -114,10 +113,10 @@
4 giocatori
5 giocatori
6 giocatori
- Attenzione: Non c\'è nessun microfono assegnato al giocatore %v!
- Attenzione: Non c\'è nessun microfono assegnato ai giocatori %v!
- Attenzione: Non c\'è nessun profilo assegnato al giocatore %v!
- Attenzione: Non c\'è nessun profilo assegnato ai giocatori %v!
+ Attenzione: Non c'è nessun microfono assegnato al giocatore %v!
+ Attenzione: Non c'è nessun microfono assegnato ai giocatori %v!
+ Attenzione: Non c'è nessun profilo assegnato al giocatore %v!
+ Attenzione: Non c'è nessun profilo assegnato ai giocatori %v!
Selezione canzone
Canta
Aggiungi alla playlist
@@ -182,6 +181,12 @@
Opzioni registrazione
Dispositivo
Input
+ Giocatore 1
+ Giocatore 2
+ Giocatore 3
+ Giocatore 4
+ Giocatore 5
+ Giocatore 6
Ritardo microfono
Attenzione: Ad un giocatore sono assegnati due microfoni.
Test ritardo
@@ -211,7 +216,7 @@
Webcam
Risoluzione-Webcam
Sistemazione schermo
- Premi CTR + ALT (+ SHIFT) + Freccia|\"+\" per sistemare lo schermo
+ Premi CTR + ALT (+ SHIFT) + Freccia|"+ per sistemare lo schermo
CTR + ALT + 0 per ripristinare
Sopra a sinistra
Sopra a destra
diff --git a/Output/Languages/Portuguese.xml b/Output/Languages/Portuguese.xml
index dd66ff44..b4b22541 100644
--- a/Output/Languages/Portuguese.xml
+++ b/Output/Languages/Portuguese.xml
@@ -1,6 +1,6 @@
- Português
+ Inglês
Vocaluxe
e
Sair
@@ -11,7 +11,7 @@
Stream de Video
Texturas
Abdominais
- Volume Máximo
+ Volume Máximo
Músicas carregadas
Rato
Utilização da Memória
@@ -48,17 +48,17 @@
Máximo
Lista
Contra-Relógio
- Painel de Titulo
+ Painel de Titulo
Livro
A pedido
- No início
+ No início
Dinâmico
Nenhum
Aleatório
Pasta
Artista
Letra do Artista
- Letras do Titulo
+ Letras do Titulo
Edição
Género
Ano
@@ -74,8 +74,8 @@
Normal
Expandida
Apenas musica e musica de fundo
- Não utilizar música própria
- Apenas música própria
+ Não utilizar música própria
+ Apenas música própria
Apenas a musica seleccionada
Todas
Apenas nomes e avatares
@@ -133,7 +133,7 @@
Nova Lista de Reprodução
Opções da Música
Procura:
- Sem Lingua
+ Sem Lingua
Sem Ano
Sem Género
Sem Edição
@@ -159,11 +159,11 @@
Activa
Nova
Eliminar
- Tirar Fotografia
+ Tirar Fotografia
Gravar Fotografia
Eliminar Fotografia
Câmara Web
- Opções do Menu
+ Opções do Menu
Jogo
Som
Gravar
@@ -175,20 +175,24 @@
Língua
Nível de Debug
Menu das Músicas
- Ordenação das Musicas
+ Ordenação das Musicas
Separadores
Dificildade do Jogo
Modo Temporizado
Opções de Gravação
Dispositivo
Entrada
- Canal 1
- Canal 2
+ Jogador 1
+ Jogador 2
+ Jogador 3
+ Jogador 4
+ Jogador 5
+ Jogador 6
Latência do Microfone
Atenção: Pelo menos um jogador tem dois microfones atribuídos
Teste de Latência
Opções de Som
- Música de Fundo
+ Música de Fundo
Volume da Música de Fundo
Origem da Música de Fundo
Prévisualizar Volume da Música
@@ -200,7 +204,7 @@
Mostrar Linhas das Notas
Mostrar Ajuda de Afinação
Aspecto do Cronómetro
- Desvanecer informação do jogado
+ Desvanecer informação do jogado
Comportamento do Carregamento das Capas
Opções das Letras das Músicas
Estilo
@@ -213,7 +217,7 @@
Camaras Web
Resolução da Câmara Web
Ajustes do Ecrã
- Prima CTR + ALT (+ SHIFT) + Setas|\"+\" para ajustar o ecrã
+ Prima CTR + ALT (+ SHIFT) + Setas|"+" para ajustar o ecrã
CTR + ALT + 0 para reiniciar
Superior Esquerdo
Superior Direito
diff --git a/Output/Languages/Spanish.xml b/Output/Languages/Spanish.xml
index 62a482ac..ed040314 100644
--- a/Output/Languages/Spanish.xml
+++ b/Output/Languages/Spanish.xml
@@ -89,48 +89,25 @@
cargadas
Menú Principal
Cantar
- TODO: Party
Opciones
Perfiles
¡No se encuentra perfil!
- TODO: Party Mode Selection
- TODO: Party Mode
- TODO: Description
- TODO: Author
- TODO: Version
- TODO: Can\'t load this party-mode.
¡No hay micrófonos configurados!
¡Se necesitan %d micrófonos para este modo fiesta!
- TODO: Target audience
- TODO: No Teams
- TODO: Number of teams
- TODO: Number of players
Selección de Jugadores
Jugador
- Jugador 1
- Jugador 2
- Jugador 3
- Jugador 4
- Jugador 5
- Jugador 6
+ 1 Jugador
+ 2 Jugadores
+ 3 Jugadores
+ 4 Jugadores
+ 5 Jugadores
+ 6 Jugadores
Advertencia: ¡No hay micrófonos asignados al jugador %v!
Advertencia: ¡No hay micrófonos asignados a los jugadores %v!
Advertencia: ¡No hay perfil asignados al jugador %v!
Advertencia: ¡No hay perfiles asignados a los jugadores %v!
Selección de Canciones
- TODO: Sing
- TODO: Add to playlist
- TODO: Close
- TODO: Select a random song
- TODO: Select a random category
- TODO: Sing all songs
- TODO: Sing all visible songs
- TODO: Open playlist
Seleccionar
- TODO: Sing a random medley
- TODO: Sing medley-songs
- TODO: New Playlist
- TODO: Song Options
Buscar:
Sin Idioma
Sin Año
@@ -181,6 +158,12 @@
Opciones de Grabación
Dispositivo
Entrada
+ Jugador 1
+ Jugador 2
+ Jugador 3
+ Jugador 4
+ Jugador 5
+ Jugador 6
Retraso del Micrófono
Advertencia: Al menos un jugador ha sido asignado a dos micrófonos.
Prueba de Retraso
@@ -196,7 +179,7 @@
Estilo de Carátulas
Mostrar Líneas de las Notas
Mostrar Guía de Tonos
- Aspecto del Timer
+ Aspecto del Time
Desvanecer información del jugador
Comportamiento de la Carga de Carátulas
Opciones de la letra
@@ -208,9 +191,9 @@
Videos al Cantar
Mostrar el vídeo de fondo actual
Cámaras web
- Resolución cámara web
+ Cámaras web
Ajustes de pantalla
- Presione CTRL + ALT (+ SHIFT) + Flechas|\"+\" para ajustar la pantalla
+ Presione CTRL + ALT (+ SHIFT) + Flechas|"+" para ajustar la pantalla
CTRL + ALT + SHIFT + 0 para reiniciar
Arriba izquierda
Abajo derecha
diff --git a/Output/Languages/Swedish.xml b/Output/Languages/Swedish.xml
index 721e4023..673f66f1 100644
--- a/Output/Languages/Swedish.xml
+++ b/Output/Languages/Swedish.xml
@@ -11,7 +11,7 @@
Videoströmmar
Texturer
ToneAbs
- Max Volym
+ Maxvolym
Laddade låtar
Mus
Minnesanvändning
@@ -79,8 +79,8 @@
Ingen egen musik
Endast egen musik
Endast vald låt
- Alla
- Endast namn och avatarer
+ Allt
+ Endast namn och profilbilder
Ingenting
Fyll
Hoppa
@@ -165,9 +165,9 @@
Aktiv
Ny
Radera
- Ta ögonblicksbild
- Spara ögonblicksbild
- Radera ögonblicksbild
+ Ta bild
+ Spara bild
+ Radera bild
Webbkamera
Alternativ
Spel
@@ -185,7 +185,7 @@
Flikar
Spelets svårighetsgrad
Timerläge
- Topplistestil
+ Topplistsvy
Inspelningsalternativ
Enhet
Ingång
@@ -204,6 +204,7 @@
Källa för bakgrundsmusik
Volym på förhandsvisning
Volym på musik under spel
+ Karaokeeffekt
Temaalternativ
Tema
Skal
diff --git a/Output/Languages/Turkish.xml b/Output/Languages/Turkish.xml
index f7cdcb15..91249f8a 100644
--- a/Output/Languages/Turkish.xml
+++ b/Output/Languages/Turkish.xml
@@ -124,6 +124,7 @@
Tüm Şarkılar
(%v Şarkıları)
(%v Şarkısı)
+ %a - %t
Duraklat
Şarkı söylemeyi durdur
Devam et
@@ -163,7 +164,12 @@
Kaydetme Seçenekleri
Aygıt
Giriş
- Mikrofon Gecikmesi
+ Oyuncu 1
+ Oyuncu 2
+ Oyuncu 3
+ Oyuncu 4
+ Oyuncu 5
+ Oyuncu 6
Uyarı: Tek oyuncuya iki mikrofon atandı.
Gecikme Testi
Ses Seçenekleri
@@ -187,5 +193,6 @@
Video Arka Planları
Video Önizleme
Şarkı Söylerken Videoları Gösterme
+ Şarkı Söylerken Videoları Gösterme
Ses
diff --git a/Output/PartyModes/Challenge/Languages/Asturian.xml b/Output/PartyModes/Challenge/Languages/Asturian.xml
index 66de3f37..b87ba30f 100644
--- a/Output/PartyModes/Challenge/Languages/Asturian.xml
+++ b/Output/PartyModes/Challenge/Languages/Asturian.xml
@@ -25,5 +25,5 @@
Puntuación
¿De xuru quies colar?
Xugador de la ronda siguiente:
- ¡Toles rondes tan cantaes! Ya\'l ganador ye...
+ ¡Toles rondes tan cantaes! Ya'l ganador ye...
diff --git a/Output/PartyModes/Challenge/Languages/Swedish.xml b/Output/PartyModes/Challenge/Languages/Swedish.xml
index a4f19260..f47c0fb6 100644
--- a/Output/PartyModes/Challenge/Languages/Swedish.xml
+++ b/Output/PartyModes/Challenge/Languages/Swedish.xml
@@ -2,7 +2,7 @@
Svenska
Utmanarläge
- Spela några utmanar-omgångar.
+ Spela några utmanaromgångar.
För alla som är intresserade av dueller.
Nästa
Tillbaka
@@ -10,23 +10,23 @@
Avsluta
Ja
Nej
- Nästa Omgång
+ Nästa omgång
Utmanarläge: Konfiguration
Antal spelare
Antal mikrofoner
Antal omgångar
- Antal joker
- Fyll på jokers varje runda
- Utmanarläge: Välj Spelare
- Välj slumpmässig
+ Antal jokrar
+ Fyll på jokrar varje runda
+ Utmanarläge: Välj spelare
+ Välj slumpmässiga
Utmanarläge: Översikt
- Position
+ Pos
Namn
Omgångar
Vunna
- Sång Poäng
- Resultat
- Vill Du verkligen avsluta?
+ Sångpoäng
+ Poäng
+ Vill du verkligen avsluta?
Spelare i nästa omgång:
Alla omgånga sjungna! Och vinnaren är...
diff --git a/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeMain.xml b/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeMain.xml
index 3edf6ca5..1c67c701 100644
--- a/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeMain.xml
+++ b/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeMain.xml
@@ -187,7 +187,7 @@
Center
Outline
- 1)
+
0
diff --git a/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml b/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml
index b2f17cd3..9be65cc9 100644
--- a/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml
+++ b/Output/PartyModes/ChallengeMedley/Languages/Asturian.xml
@@ -28,5 +28,5 @@
Puntuación
¿De xuru quies colar?
Xugador de la ronda siguiente:
- ¡Toles rondes tan cantaes! Ya\'l ganador ye...
+ ¡Toles rondes tan cantaes! Ya'l ganador ye...
diff --git a/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml b/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml
index ca654d47..c447ee66 100644
--- a/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml
+++ b/Output/PartyModes/ChallengeMedley/Languages/Swedish.xml
@@ -1,35 +1,35 @@
Svenska
- Utmanar Medley Läge
- Spela några utmanaromgångar, använd endast Medleys
- För alla som är intresserade av dueller och Medleys.
+ Medleyutmanarläge
+ Spela några utmanaromgångar med endast medleys.
+ För alla som är intresserade av dueller och medleys.
Nästa
Tillbaka
Starta
Avsluta
Ja
Nej
- Nästa Omgång
+ Nästa omgång
Spellista
Kategori
Alla låtar
Låtar
- Utamanr Medley Läge: Konfiguration
+ Medleyutmanarläge: Konfiguration
Antal spelare
Antal mikrofoner
Antal omgångar
Antal låtar per omgång
- Låt källa
- Utmanar Medley Läge: Välj Spelare
- Välj slumpmässig
- Utmanar Medley Läge: Översikt
- Position
+ Låtkälla
+ Medleyutmanarläge: Välj Spelare
+ Välj slumpmässiga
+ Medleyutmanarläge: Översikt
+ Pos
Namn
Omgångar
Vunna
- Sång Poäng
- Resultat
+ Sångpoäng
+ Poäng
Vill du verkligen avsluta?
Spelare i nästa omgång:
Alla omgångar sjungna! Och vinnaren är...
diff --git a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml b/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml
index 371c3e14..c1279d0d 100644
--- a/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml
+++ b/Output/PartyModes/ChallengeMedley/Themes/Default/Screens/PartyScreenChallengeMedleyMain.xml
@@ -187,7 +187,7 @@
Center
Outline
- 1)
+
0
diff --git a/Output/PartyModes/TicTacToe/Languages/Asturian.xml b/Output/PartyModes/TicTacToe/Languages/Asturian.xml
index 206b8636..90a135b5 100644
--- a/Output/PartyModes/TicTacToe/Languages/Asturian.xml
+++ b/Output/PartyModes/TicTacToe/Languages/Asturian.xml
@@ -2,7 +2,7 @@
Inglés
Tic-Tac-Toe
- Xugar Tic-Tac-Toe d\'un mou especial
+ Xugar Tic-Tac-Toe d'un mou especial
Siguiente
Tornar
Entamar
@@ -27,6 +27,6 @@
Esbilla un campu.
Xugador siguiente
¿Colar de xuru de Tic-Tac-Toe?
- Ya\'l ganador ye...
+ Ya'l ganador ye...
Nun hai ganador dalu nesta ronda...
diff --git a/Output/PartyModes/TicTacToe/Languages/French.xml b/Output/PartyModes/TicTacToe/Languages/French.xml
index 26353af0..eba0074d 100644
--- a/Output/PartyModes/TicTacToe/Languages/French.xml
+++ b/Output/PartyModes/TicTacToe/Languages/French.xml
@@ -2,7 +2,7 @@
Français
Tic-Tac-Toe
- Jouez au Tic-Tac-Toe d\'une nouvelle façon
+ Jouez au Tic-Tac-Toe d'une nouvelle façon
Des matchs amusants alliant stratégie, gains et compétences
Suivant
Retour
@@ -17,8 +17,8 @@
Catégorie
Toutes les chansons
Tic-Tac-Toe: Configuration
- Nombre de joueurs dans l\'Equipe 1
- Nombre de joueurs dans l\'Equipe 2
+ Nombre de joueurs dans l'Equipe 1
+ Nombre de joueurs dans l'Equipe 2
Nombre de champs
Source des chansons
Mode de jeu
@@ -30,5 +30,5 @@
Prochains joueurs
Voulez vous vraiment quitter Tic-Tac-Toe?
Et le gagnant est...
- Il n\'y a pas de gagnant sur ce tour...
+ Il n'y a pas de gagnant sur ce tour...
diff --git a/Output/PartyModes/TicTacToe/Languages/Italian.xml b/Output/PartyModes/TicTacToe/Languages/Italian.xml
index b299e22a..f20d59dd 100644
--- a/Output/PartyModes/TicTacToe/Languages/Italian.xml
+++ b/Output/PartyModes/TicTacToe/Languages/Italian.xml
@@ -31,5 +31,5 @@
Prossimo giocatore
Vuoi veramente uscire dal Tris?
E il vincitore è...
- Non c\'è nessun vincitore in questo turno...
+ Non c'è nessun vincitore in questo turno...
diff --git a/Output/PartyModes/TicTacToe/Languages/Swedish.xml b/Output/PartyModes/TicTacToe/Languages/Swedish.xml
index ed08496a..259bbe71 100644
--- a/Output/PartyModes/TicTacToe/Languages/Swedish.xml
+++ b/Output/PartyModes/TicTacToe/Languages/Swedish.xml
@@ -20,15 +20,16 @@
Antal spelare i lag 1
Antal spelare i lag 2
Antal fält
- Sång källa
- Spel Läge
- Tripp-Trapp-Trull: Välj Spelare
+ Låtkälla
+ Spelläge
+ Tripp-Trapp-Trull: Välj spelare
Lag 1
Lag 2
+ Välj slumpmässiga
Tripp-Trapp-Trull
Välj ett fält.
Nästa spelare
Avsluta Tripp-Trapp-Trull?
Och vinnare är...
- Det finns ingen vinnare denna omgång...
+ Det blev ingen vinnare denna omgång...
diff --git a/PitchTracker/ptAKF.cpp b/PitchTracker/ptAKF.cpp
index 913e0cce..e8b0362e 100644
--- a/PitchTracker/ptAKF.cpp
+++ b/PitchTracker/ptAKF.cpp
@@ -24,6 +24,12 @@
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)
+template
+T abs_template(T t)
+{
+ return t>0 ? t : -t;
+}
+
int PtAKF::_InitCount = 0;
float* restrict PtAKF::_SamplesPerPeriodPerTone = 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
float xn = samples[sampleIndex];
float xnt = samples[correlatingSampleIndex] * fLow + samples[correlatingSampleIndex + 1] * fHigh;
- accumDist += abs(xn - xnt);
+ accumDist += abs_template(xn - xnt);
}
return accumDist / sampleIndex;
diff --git a/Vocaluxe/Base/CPlaylists.cs b/Vocaluxe/Base/CPlaylists.cs
index f2f84ed8..9cc3201a 100644
--- a/Vocaluxe/Base/CPlaylists.cs
+++ b/Vocaluxe/Base/CPlaylists.cs
@@ -42,6 +42,11 @@ namespace Vocaluxe.Base
get { return _Playlists.Select(t => t.Name).ToList(); }
}
+ public static List Ids
+ {
+ get { return _Playlists.Select(t => t.Id).ToList(); }
+ }
+
public static int NumPlaylists
{
get { return _Playlists.Count; }
diff --git a/Vocaluxe/Base/CSettings.cs b/Vocaluxe/Base/CSettings.cs
index 3ad3a4ef..05c52e2c 100644
--- a/Vocaluxe/Base/CSettings.cs
+++ b/Vocaluxe/Base/CSettings.cs
@@ -18,6 +18,7 @@
using System;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
using System.Reflection;
using System.Windows.Forms;
using VocaluxeLib;
@@ -53,10 +54,44 @@ namespace Vocaluxe.Base
public static EProgramState ProgramState = EProgramState.Start;
//Adjusting of programName and version now in the assembly config.
- //I'd use the major and minor for Main releases, build number for every public release and revision for every bugfix version without any features
- private const string _ProgramCodeName = "Shining Heaven";
+ private static readonly Dictionary _CodeNames = new Dictionary()
+ {
+ {"0.3.", "Shining Heaven"},
+ {"0.4.", "Blue Sunrise"}
+ };
- public const ERevision VersionRevision = ERevision.Beta;
+ 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
+ {
+ get
+ {
+ if (_Version.ToLower().Contains("alpha"))
+ {
+ return ERevision.Alpha;
+ }
+ if (_Version.ToLower().Contains("beta"))
+ {
+ return ERevision.Beta;
+ }
+ if (_Version.ToLower().Contains("rc"))
+ {
+ return ERevision.RC;
+ }
+ return ERevision.Release;
+ }
+ }
public const int DatabaseHighscoreVersion = 3;
public const int DatabaseCoverVersion = 1;
@@ -177,8 +212,7 @@ namespace Vocaluxe.Base
{
get
{
- Version v = _Assembly.Version;
- return "v" + v.Major + "." + v.Minor + "." + v.Build;
+ return Application.ProductVersion.Split('-').First();
}
}
@@ -186,11 +220,10 @@ namespace Vocaluxe.Base
{
string version = _Version + " (" + _Arch + ")";
- // ReSharper disable ConditionIsAlwaysTrueOrFalse
- if (VersionRevision != ERevision.Release)
+ string gitversion = Application.ProductVersion;
+
+ if (VersionRevision != ERevision.Release || gitversion.Split('-')[1] != "0")
{
- // ReSharper restore ConditionIsAlwaysTrueOrFalse
- string gitversion = Application.ProductVersion;
version += " " + _GetVersionStatus() + String.Format(" ({0})", gitversion);
}
@@ -200,10 +233,8 @@ namespace Vocaluxe.Base
public static string GetFullVersionText()
{
string version = ProgramName;
-
- // ReSharper disable ConditionIsAlwaysTrueOrFalse
+
if (_ProgramCodeName != "")
- // ReSharper restore ConditionIsAlwaysTrueOrFalse
version += " \"" + _ProgramCodeName + "\"";
return version + " " + _GetVersionText();
@@ -211,11 +242,9 @@ namespace Vocaluxe.Base
private static string _GetVersionStatus()
{
- string result;
+ string result = "";
- // ReSharper disable ConditionIsAlwaysTrueOrFalse
if (VersionRevision != ERevision.Release)
- // ReSharper restore ConditionIsAlwaysTrueOrFalse
result = Enum.GetName(typeof(ERevision), VersionRevision);
return result;
diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs
index fc58ebb1..df93e1a8 100644
--- a/Vocaluxe/Lib/Draw/CDirect3D.cs
+++ b/Vocaluxe/Lib/Draw/CDirect3D.cs
@@ -556,13 +556,13 @@ namespace Vocaluxe.Lib.Draw
///
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
using (Surface surface = _Device.GetBackBuffer(0, 0))
{
- var screen = new Bitmap(Surface.ToStream(surface, ImageFileFormat.Bmp));
- screen.Save(file, ImageFormat.Bmp);
+ var screen = new Bitmap(Surface.ToStream(surface, ImageFileFormat.Png));
+ screen.Save(file, ImageFormat.Png);
screen.Dispose();
}
}
diff --git a/Vocaluxe/Lib/Draw/CDrawWinForm.cs b/Vocaluxe/Lib/Draw/CDrawWinForm.cs
index 6a1b94a7..b06d0929 100644
--- a/Vocaluxe/Lib/Draw/CDrawWinForm.cs
+++ b/Vocaluxe/Lib/Draw/CDrawWinForm.cs
@@ -303,7 +303,7 @@ namespace Vocaluxe.Lib.Draw
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);
}
diff --git a/Vocaluxe/Lib/Draw/COpenGL.cs b/Vocaluxe/Lib/Draw/COpenGL.cs
index 46cb7d15..a2d46014 100644
--- a/Vocaluxe/Lib/Draw/COpenGL.cs
+++ b/Vocaluxe/Lib/Draw/COpenGL.cs
@@ -291,7 +291,7 @@ namespace Vocaluxe.Lib.Draw
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 height = GetScreenHeight();
@@ -304,7 +304,7 @@ namespace Vocaluxe.Lib.Draw
screen.UnlockBits(bmpData);
screen.RotateFlip(RotateFlipType.RotateNoneFlipY);
- screen.Save(file, ImageFormat.Bmp);
+ screen.Save(file, ImageFormat.Png);
}
}
diff --git a/Vocaluxe/Lib/Input/CGamePad.cs b/Vocaluxe/Lib/Input/CGamePad.cs
index 482dce1a..04810d7a 100644
--- a/Vocaluxe/Lib/Input/CGamePad.cs
+++ b/Vocaluxe/Lib/Input/CGamePad.cs
@@ -161,7 +161,7 @@ namespace Vocaluxe.Lib.Input
key = Keys.Space;
else if (buttonStates.Buttons.A == OpenTK.Input.ButtonState.Pressed && _OldButtonStates.Buttons.A == OpenTK.Input.ButtonState.Released)
key = Keys.Enter;
- else if (buttonStates.Buttons.X == OpenTK.Input.ButtonState.Pressed && _OldButtonStates.Buttons.X == OpenTK.Input.ButtonState.Released)
+ else if (buttonStates.Buttons.B == OpenTK.Input.ButtonState.Pressed && _OldButtonStates.Buttons.B == OpenTK.Input.ButtonState.Released)
key = Keys.Escape;
else if (buttonStates.Buttons.Back == OpenTK.Input.ButtonState.Pressed && _OldButtonStates.Buttons.Back == OpenTK.Input.ButtonState.Released)
key = Keys.Back;
diff --git a/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs b/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs
index 78707644..a11c1871 100644
--- a/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs
+++ b/Vocaluxe/Lib/Video/Acinerella/CDecoderThread.cs
@@ -58,6 +58,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
private readonly AutoResetEvent _EvNoMoreFrames = new AutoResetEvent(false);
private bool _IsSleeping;
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 bool Loop { get; set; }
@@ -80,6 +81,7 @@ namespace Vocaluxe.Lib.Video.Acinerella
var instance = (SACInstance)Marshal.PtrToStructure(_Instance, typeof(SACInstance));
Length = instance.Info.Duration / 1000f;
bool ok = instance.Opened && Length > 0.001f;
+ _DropSeekEnabled = true;
if (ok)
return true;
_Free();
@@ -333,6 +335,8 @@ namespace Vocaluxe.Lib.Video.Acinerella
private void _Decode()
{
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)
return;
@@ -345,17 +349,16 @@ namespace Vocaluxe.Lib.Video.Acinerella
bool hasFrameDecoded = false;
if (dropFrame)
{
- try
- {
+
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
- frameDropCount += frameDropCount / 16;
- hasFrameDecoded = CAcinerella.AcSkipFrames(_Instance, _Videodecoder, frameDropCount);
- }
- catch (Exception)
- {
- CLog.LogError("Error AcSkipFrame " + _FileName);
- }
+ if (!_DropSeekEnabled || frameDropCount < seekThreshold)
+ {
+ hasFrameDecoded = _DropWithSkip(frameDropCount);
+ }
+ else
+ {
+ hasFrameDecoded = _DropWithSeek(videoTime, frameDropCount);
+ }
}
if (!hasFrameDecoded)
@@ -383,6 +386,44 @@ 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'
//Returns true if frame data is now in buffer
private bool _CopyDecodedFrameToBuffer()
diff --git a/Vocaluxe/Linux/Build/PostBuildEvent.sh b/Vocaluxe/Linux/Build/PostBuildEvent.sh
index c9c2d125..92b73c10 100755
--- a/Vocaluxe/Linux/Build/PostBuildEvent.sh
+++ b/Vocaluxe/Linux/Build/PostBuildEvent.sh
@@ -2,4 +2,6 @@
PROJECT=$1
cd $PROJECT
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/AssemblyFileVersion\(".*?"\)/AssemblyFileVersion("SHORTVERSION")/' $PROJECT/Properties/AssemblyInfo.cs
sed -i -e 's/var matchingServerVersion = "";/var matchingServerVersion = "'$(git describe --long)'";/' $PROJECT/../Output/Website/js/main.js
diff --git a/Vocaluxe/Linux/Build/PreBuildEvent.sh b/Vocaluxe/Linux/Build/PreBuildEvent.sh
index 4d7c6ef7..9fe7bd5b 100755
--- a/Vocaluxe/Linux/Build/PreBuildEvent.sh
+++ b/Vocaluxe/Linux/Build/PreBuildEvent.sh
@@ -2,3 +2,5 @@
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
diff --git a/Vocaluxe/Properties/AssemblyInfo.cs b/Vocaluxe/Properties/AssemblyInfo.cs
index 3e00fede..4cde4f89 100644
--- a/Vocaluxe/Properties/AssemblyInfo.cs
+++ b/Vocaluxe/Properties/AssemblyInfo.cs
@@ -27,7 +27,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Vocaluxe")]
-[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -49,6 +49,6 @@ using System.Runtime.InteropServices;
// Revision
//
-[assembly: AssemblyVersion("0.3.0.83")]
-[assembly: AssemblyFileVersion("0.3.0.83")]
+[assembly: AssemblyVersion("SHORTVERSION")]
+[assembly: AssemblyFileVersion("SHORTVERSION")]
[assembly: AssemblyInformationalVersion("GITVERSION")]
diff --git a/Vocaluxe/Screens/CScreenCredits.cs b/Vocaluxe/Screens/CScreenCredits.cs
index f3e8c332..9ec2afed 100644
--- a/Vocaluxe/Screens/CScreenCredits.cs
+++ b/Vocaluxe/Screens/CScreenCredits.cs
@@ -428,12 +428,12 @@ namespace Vocaluxe.Screens
CCreditTranslation asturian = _AddNewTranslation("Asturian", new List { "Puxarra" });
CCreditTranslation czech = _AddNewTranslation("Czech", new List { "fri" });
CCreditTranslation dutch = _AddNewTranslation("Dutch", new List { "thijsblaauw", "DeMarin" });
- CCreditTranslation french = _AddNewTranslation("French", new List { "pinky007" });
- CCreditTranslation hungarian = _AddNewTranslation("Hungarian", new List { "warez" });
- CCreditTranslation italian = _AddNewTranslation("Italian", new List { "giuseppep", "LFactory" });
+ CCreditTranslation french = _AddNewTranslation("French", new List { "pinky007", "javafrog" });
+ CCreditTranslation hungarian = _AddNewTranslation("Hungarian", new List { "warez", "skyli" });
+ CCreditTranslation italian = _AddNewTranslation("Italian", new List { "giuseppep", "LFactory", "yogotosleepnow" });
CCreditTranslation portugese = _AddNewTranslation("Portuguese", new List { "2borG", "xventil" });
CCreditTranslation spanish = _AddNewTranslation("Spanish", new List { "Pantero03", "RubenDjOn", "TeLiX", "karv" });
- CCreditTranslation swedish = _AddNewTranslation("Swedish", new List { "u28151" });
+ CCreditTranslation swedish = _AddNewTranslation("Swedish", new List { "u28151", "Jiiniasu" });
CCreditTranslation turkish = _AddNewTranslation("Turkish", new List { "spirax", "Swertyy" });
_Translations = new List { intro, asturian, czech, dutch, french, hungarian, italian, spanish, swedish, turkish };
diff --git a/Vocaluxe/Screens/CScreenMain.cs b/Vocaluxe/Screens/CScreenMain.cs
index f45915da..a884c016 100644
--- a/Vocaluxe/Screens/CScreenMain.cs
+++ b/Vocaluxe/Screens/CScreenMain.cs
@@ -54,9 +54,7 @@ namespace Vocaluxe.Screens
base.LoadTheme(xmlPath);
_Texts[_TextRelease].Text = CSettings.GetFullVersionText();
- // ReSharper disable ConditionIsAlwaysTrueOrFalse
- _Texts[_TextRelease].Visible = CSettings.VersionRevision != ERevision.Release;
- // ReSharper restore ConditionIsAlwaysTrueOrFalse
+ _Texts[_TextRelease].Visible = true;
_Statics[_StaticWarningProfiles].Visible = false;
_Texts[_TextWarningProfiles].Visible = false;
}
diff --git a/Vocaluxe/Screens/CScreenSong.cs b/Vocaluxe/Screens/CScreenSong.cs
index 5d49a606..c14037ba 100644
--- a/Vocaluxe/Screens/CScreenSong.cs
+++ b/Vocaluxe/Screens/CScreenSong.cs
@@ -372,9 +372,9 @@ namespace Vocaluxe.Screens
else if (_Buttons[_ButtonOptionsOpenSelectedItem].Selected)
_HandleSelectButton();
else if (_SelectSlides[_SelectSlideOptionsPlaylistOpen].Selected)
- _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistOpen].Selection);
+ _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistOpen].SelectedTag);
else if (_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selected)
- _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1);
+ _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag);
else if (_Buttons[_ButtonOptionsRandomMedley].Selected)
_ToggleSongOptions(ESongOptionsView.Medley);
else if (_Buttons[_ButtonOptionsStartMedley].Selected)
@@ -533,12 +533,12 @@ namespace Vocaluxe.Screens
}
else if (_SelectSlides[_SelectSlideOptionsPlaylistOpen].IsValueSelected)
{
- _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistOpen].Selection);
+ _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistOpen].SelectedTag);
return true;
}
else if (_SelectSlides[_SelectSlideOptionsPlaylistAdd].IsValueSelected)
{
- _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1);
+ _OpenPlaylist(_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag);
return true;
}
else if (_Buttons[_ButtonOptionsRandomMedley].Selected)
@@ -1279,16 +1279,16 @@ namespace Vocaluxe.Screens
private void _UpdatePlaylistNames()
{
_SelectSlides[_SelectSlideOptionsPlaylistAdd].Clear();
- _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValue("TR_SCREENSONG_NEWPLAYLIST");
- _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValues(CPlaylists.Names);
+ _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValue("TR_SCREENSONG_NEWPLAYLIST", tag: -1);
+ _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValues(CPlaylists.Names, CPlaylists.Ids);
_SelectSlides[_SelectSlideOptionsPlaylistOpen].Clear();
- _SelectSlides[_SelectSlideOptionsPlaylistOpen].AddValues(CPlaylists.Names);
+ _SelectSlides[_SelectSlideOptionsPlaylistOpen].AddValues(CPlaylists.Names, CPlaylists.Ids);
}
private void _OpenAndAddPlaylistAction()
{
- if (_Playlist.ActivePlaylistID != (_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1) &&
- (_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1) != -1)
+ if (_Playlist.ActivePlaylistID != (_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag) &&
+ (_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag) != -1)
{
//Open an existing playlist and add song
//Check selected game-mode
@@ -1301,9 +1301,9 @@ namespace Vocaluxe.Screens
gm = EGameMode.TR_GAMEMODE_NORMAL;
//Check if Playlist really exists
- if (_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1 >= 0)
+ if (_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag >= 0)
{
- _Playlist.ActivePlaylistID = _SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1;
+ _Playlist.ActivePlaylistID = _SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag;
//Add song to playlist
CPlaylists.AddSong(_Playlist.ActivePlaylistID, CSongs.VisibleSongs[_SongMenu.GetPreviewSongNr()].ID, gm);
@@ -1314,7 +1314,7 @@ namespace Vocaluxe.Screens
_Playlist.ScrollToBottom();
}
}
- else if ((_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection - 1) == -1)
+ else if ((_SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag) == -1)
{
//Create a new playlist and add song
//Check selected game-mode
@@ -1336,8 +1336,8 @@ namespace Vocaluxe.Screens
_OpenPlaylist(_Playlist.ActivePlaylistID);
//Add new playlist to select-slide
- _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValue(CPlaylists.GetName(_Playlist.ActivePlaylistID));
- _SelectSlides[_SelectSlideOptionsPlaylistOpen].AddValue(CPlaylists.GetName(_Playlist.ActivePlaylistID));
+ _SelectSlides[_SelectSlideOptionsPlaylistAdd].AddValue(CPlaylists.GetName(_Playlist.ActivePlaylistID), _Playlist.ActivePlaylistID);
+ _SelectSlides[_SelectSlideOptionsPlaylistOpen].AddValue(CPlaylists.GetName(_Playlist.ActivePlaylistID), _Playlist.ActivePlaylistID);
}
else
{
@@ -1359,7 +1359,7 @@ namespace Vocaluxe.Screens
private void _SetSelectSlidePlaylistToCurrentPlaylist()
{
if (_Playlist.ActivePlaylistID > -1)
- _SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection = _Playlist.ActivePlaylistID + 1;
+ _SelectSlides[_SelectSlideOptionsPlaylistAdd].SelectedTag = _Playlist.ActivePlaylistID;
else
_SelectSlides[_SelectSlideOptionsPlaylistAdd].Selection = 0;
}
diff --git a/Vocaluxe/Vocaluxe.csproj b/Vocaluxe/Vocaluxe.csproj
index fc607fd5..ef349b8e 100644
--- a/Vocaluxe/Vocaluxe.csproj
+++ b/Vocaluxe/Vocaluxe.csproj
@@ -479,12 +479,12 @@
xcopy /E /D /Y "$(ProjectDir)\Website" "$(SolutionDir)\PhoneGap"
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 '(?<=var *matchingServerVersion * = *\")\w*(?=\" *;)', "$version"} | Set-Content -Encoding UTF8 '$(ProjectDir)..\Output\Website\js\main.js'"
-powershell -command "(Get-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs') | Foreach-Object {$_ -replace '(?<=AssemblyInformationalVersion\()(.*)(?=\))', '\"GITVERSION\"'} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs'"
+powershell -command "(Get-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs') | Foreach-Object {$_ -replace '(?<=AssemblyInformationalVersion\(\").*(?=\")', 'GITVERSION'} | Foreach-Object {$_ -replace '(?<=(AssemblyVersion|AssemblyFileVersion)\(\").*(?=\")', 'SHORTVERSION'} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs' "
cp -ruT "$(ProjectDir)Website" "$(SolutionDir)/PhoneGap"
$(ProjectDir)Linux/Build/PostBuildEvent.sh $(ProjectDir)
- 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 'GITVERSION', $version} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs'"
+ 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 '(?<=AssemblyInformationalVersion\(\").*(?=\")', $version} | Foreach-Object {$_ -replace '(?<=(AssemblyVersion|AssemblyFileVersion)\(\").*(?=\")', $version.Split('-')[0].replace('alpha','0').replace('beta','1').replace('rc','2')} | Foreach-Object {$_ -replace '(?<=AssemblyCopyright\(\".*)[0-9]+(?=\")', (Get-Date).Year} | Set-Content -Encoding UTF8 '$(ProjectDir)Properties\AssemblyInfo.cs' "
$(ProjectDir)Linux/Build/PreBuildEvent.sh $(ProjectDir)