You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(25) |
Jul
(288) |
Aug
(119) |
Sep
(31) |
Oct
(59) |
Nov
(458) |
Dec
(359) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(268) |
Feb
(26) |
Mar
(36) |
Apr
(48) |
May
(119) |
Jun
(37) |
Jul
(173) |
Aug
(429) |
Sep
(137) |
Oct
(156) |
Nov
(59) |
Dec
(45) |
| 2011 |
Jan
(398) |
Feb
(257) |
Mar
(49) |
Apr
(5) |
May
(34) |
Jun
(11) |
Jul
(38) |
Aug
(12) |
Sep
(1) |
Oct
(49) |
Nov
(5) |
Dec
(10) |
| 2012 |
Jan
(21) |
Feb
(32) |
Mar
(20) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(173) |
Aug
|
Sep
(25) |
Oct
(6) |
Nov
(44) |
Dec
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-06-13 22:55:45
|
Module: performous
Branch: master
Commit: 201e1b830283960d07fa6a5b6db237667b49930f
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jun 14 01:55:31 2010 +0300
Fix bug in alsa.hpp causing it to loop indefinitely when PRETTY_FUNCTION was not formatted as expected (affects clang).
---
libs/libda/plugins/alsa/alsa.hpp | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libs/libda/plugins/alsa/alsa.hpp b/libs/libda/plugins/alsa/alsa.hpp
index 918abbc..492b2e1 100644
--- a/libs/libda/plugins/alsa/alsa.hpp
+++ b/libs/libda/plugins/alsa/alsa.hpp
@@ -257,7 +257,8 @@ namespace alsa {
std::string::size_type end = prettyfunc.find('(');
std::string::size_type begin = prettyfunc.find(' ');
if (begin == std::string::npos || begin > end) begin = 0; else ++begin;
- for (std::string::size_type tmp; (tmp = prettyfunc.rfind(' ', end)) != std::string::npos && tmp > begin; end = tmp) {};
+ if (end == std::string::npos) end = prettyfunc.size();
+ for (std::string::size_type tmp; end > begin && (tmp = prettyfunc.rfind(' ', end - 1)) != std::string::npos && tmp > begin; end = tmp) {};
throw error(cfunc, ret, prettyfunc.substr(begin, end - begin));
}
}
|
|
From: Felix B. <fbe...@us...> - 2010-06-08 04:42:13
|
Module: performous
Branch: master
Commit: bf2c4bdf7f07a2edf9551502ec7cdec6ea031335
Author: Felix Bertram <fl...@be...>
Date: Mon Jun 7 21:33:29 2010 -0700
Implementation of practice mode (drums only)
- holds game at failed chord
- resumes audio once chord is completed
- to enable: set m_practmode = true in screen_sing.c
---
game/guitargraph.cc | 50 ++++++++++++++++++++++++++++++++++++++++++++------
game/guitargraph.hh | 4 +++-
game/screen_sing.cc | 12 +++++++++---
game/screen_sing.hh | 3 ++-
4 files changed, 58 insertions(+), 11 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index bc6e929..5a1e122 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -57,7 +57,7 @@ namespace {
inline float blend(float a, float b, float f) { return a*f + b*(1.0f-f); }
}
-GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number):
+GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number, bool practmode):
InstrumentGraph(audio, song, drums ? input::DRUMS : input::GUITAR),
m_button(getThemePath("button.svg")),
m_tail(getThemePath("tail.svg")),
@@ -71,6 +71,7 @@ GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number)
m_drums(drums),
m_use3d(config["graphic/3d_notes"].b()),
m_leftymode(false),
+ m_practmode(practmode),
m_level(),
m_track_index(m_instrumentTracks.end()),
m_dfIt(m_drumfills.end()),
@@ -84,7 +85,8 @@ GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number)
m_drumfillScore(),
m_soloTotal(),
m_soloScore(),
- m_solo()
+ m_solo(),
+ m_practHold(false)
{
// Copy all tracks of supported types (either drums or non-drums) to m_instrumentTracks
for (InstrumentTracks::const_iterator it = m_song.instrumentTracks.begin(); it != m_song.instrumentTracks.end(); ++it) {
@@ -248,10 +250,32 @@ void GuitarGraph::engine() {
}
// Countdown to start
handleCountdown(time, time < getNotesBeginTime() ? getNotesBeginTime() : m_jointime+1);
+
+ // FIXME: this is a band aid to release m_practHold
+ // this may happen in conjunction with the regular pause feature
+ if (m_practHold && !m_audio.isPaused()) m_practHold = false;
+
// Skip missed notes
- while (m_chordIt != m_chords.end() && m_chordIt->begin + maxTolerance < time) {
+ // we hold the note a litle bit *before* they go out of the tolerance window
+ // this is important in order for the hit-detection to still accept the notes
+ // FIXME: need to confirm that this timing is reliable,
+ // if a note gets marked as 'past' completing the chord does not re-start the song
+ double past = time - maxTolerance + (m_practmode ? 0.05 : 0.0);
+ while (!m_practHold && m_chordIt != m_chords.end() && m_chordIt->begin < past) {
if ( (m_drums && m_chordIt->status != m_chordIt->polyphony)
- || (!m_drums && m_chordIt->status == 0) ) endStreak();
+ || (!m_drums && m_chordIt->status == 0) ) {
+ endStreak();
+ if (m_practmode && !dead()) {
+ // in practice mode hold the chord here
+ // m_chordIt must not change until finishing the chord
+ m_audio.seekPos(m_chordIt->begin);
+ m_audio.pause(true);
+ m_practHold = true;
+ endStreak();
+ std::cout << "practice: hold chord at " << m_chordIt->begin << ", status = "<< m_chordIt->status << std::endl;
+ break;
+ }
+ }
// Calculate solo total score
if (m_solo) { m_soloScore += m_chordIt->score; m_soloTotal += m_chordIt->polyphony * points(0);
// Solo just ended?
@@ -264,6 +288,18 @@ void GuitarGraph::engine() {
++m_dead;
++m_chordIt;
}
+
+ // just finished a chord in practice mode
+ if (m_practHold &&
+ ( (m_drums && m_chordIt->status == m_chordIt->polyphony)
+ || (!m_drums && m_chordIt->status != 0) ) ) {
+ // now we have completed the chord
+ // m_chordIt must not change from holding the chord until we get here
+ if (m_audio.isPaused()) m_audio.togglePause();
+ m_practHold = false;
+ std::cout << "practice: finish chord at " << m_chordIt->begin << std::endl;
+ }
+
if (difficulty_changed) m_dead = 0; // if difficulty is changed, m_dead would get incorrect
// Adjust the correctness value
if (!m_events.empty() && m_events.back().type == 0) m_correctness.setTarget(0.0, true);
@@ -451,16 +487,18 @@ void GuitarGraph::drumHit(double time, int fret) {
// in kiddy mode we don't care about the correct pad
// all that matters is that there is still a missing note in that chord
if (m_chordIt->status == m_chordIt->polyphony) continue;
- } else if (m_notes[it->dur[fret]]) continue; // invalid fret/hit or already played
+ } else if ((!it->dur[fret]) || (m_notes[it->dur[fret]])) continue; // invalid fret/hit or already played
double error = std::abs(it->begin - time);
if (error < tolerance) {
best = it;
tolerance = error;
signed_error = it->begin - time;
+ if (m_practHold) break; // during practice hold the chord will always be m_chordIt
}
}
- if (best == m_chords.end()) fail(time, fret); // None found
+ if ((best == m_chords.end())
+ || (m_practHold && best != m_chordIt)) fail(time, fret); // None found
else {
// Skip all chords earlier than the best fit chord
for (; best != m_chordIt; ++m_chordIt) {
diff --git a/game/guitargraph.hh b/game/guitargraph.hh
index 37db183..ed8b931 100644
--- a/game/guitargraph.hh
+++ b/game/guitargraph.hh
@@ -52,7 +52,7 @@ static inline bool operator==(Chord const& a, Chord const& b) {
class GuitarGraph: public InstrumentGraph {
public:
/// constructor
- GuitarGraph(Audio& audio, Song const& song, bool drums, int number);
+ GuitarGraph(Audio& audio, Song const& song, bool drums, int number, bool practmode=false);
/** draws GuitarGraph
* @param time at which time to draw
*/
@@ -97,6 +97,7 @@ class GuitarGraph: public InstrumentGraph {
bool m_drums; /// are we using drums?
bool m_use3d; /// are we using 3d?
bool m_leftymode; /// switch guitar notes to right-to-left direction
+ bool m_practmode; /// switch to enable practice mode
// Track stuff
enum Difficulty {
@@ -148,5 +149,6 @@ class GuitarGraph: public InstrumentGraph {
double m_soloTotal; /// maximum solo score
double m_soloScore; /// score during solo
bool m_solo; /// are we currently playing a solo
+ bool m_practHold; /// true if holding a chord during practice
};
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index 6f62d8b..dd822f3 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -30,6 +30,7 @@ namespace {
}
void ScreenSing::enter() {
+ //m_practmode = true; // un-comment this line to play with practice mode. temporary, of course!
ScreenManager* sm = ScreenManager::getSingletonPtr();
sm->flashMessage(_("Loading song..."), 0.0, 1.0, 0.5);
sm->drawFlashMessage(); sm->window().swap(); // Make loading message show
@@ -97,7 +98,7 @@ void ScreenSing::enter() {
if (type == 3) break;
}
if (type == 0) m_dancers.push_back(new DanceGraph(m_audio, *m_song));
- else m_instruments.push_back(new GuitarGraph(m_audio, *m_song, type == 2, idx));
+ else m_instruments.push_back(new GuitarGraph(m_audio, *m_song, type == 2, idx, m_practmode));
++idx;
} catch (input::NoDevError&) {
++type;
@@ -401,8 +402,13 @@ void ScreenSing::draw() {
}
if (m_audio.isPaused()) {
- m_pause_icon->dimensions.middle().center().fixedWidth(.32);
- m_pause_icon->draw();
+ if (!m_practmode) {
+ m_pause_icon->dimensions.middle().center().fixedWidth(.32);
+ m_pause_icon->draw();
+ } else {
+ // we get here when the song is on hold during practice
+ // TODO: display some (small) info screen here
+ }
}
}
diff --git a/game/screen_sing.hh b/game/screen_sing.hh
index 5ba012d..c743877 100644
--- a/game/screen_sing.hh
+++ b/game/screen_sing.hh
@@ -50,7 +50,7 @@ class ScreenSing: public Screen {
public:
/// constructor
ScreenSing(std::string const& name, Audio& audio, Capture& capture, Database& database, Backgrounds& bgs):
- Screen(name), m_audio(audio), m_capture(capture), m_database(database), m_backgrounds(bgs), m_latencyAV(), m_only_singers_alive(true)
+ Screen(name), m_audio(audio), m_capture(capture), m_database(database), m_backgrounds(bgs), m_latencyAV(), m_only_singers_alive(true), m_practmode(false)
{}
void enter();
void exit();
@@ -92,5 +92,6 @@ class ScreenSing: public Screen {
boost::shared_ptr<ThemeSing> theme;
AnimValue m_quitTimer;
bool m_only_singers_alive;
+ bool m_practmode;
};
|
|
From: Tapio V. <aa...@us...> - 2010-06-05 09:00:39
|
Module: performous
Branch: master
Commit: 8f1af2559b493adbc3105206902890c85bd59c7f
Author: Tapio Vierros <tap...@gm...>
Date: Sat Jun 5 11:59:20 2010 +0300
Add a script for generating and uploading a source package to PPA.
---
tools/ppa/control.patch | 6 +++
tools/ppa/ppa.sh | 109 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 115 insertions(+), 0 deletions(-)
diff --git a/tools/ppa/control.patch b/tools/ppa/control.patch
new file mode 100644
index 0000000..643442a
--- /dev/null
+++ b/tools/ppa/control.patch
@@ -0,0 +1,6 @@
+--- debian/control
++++ debian/control
+@@ -7,2 +7,3 @@
+ cmake (>= 2.6), pkg-config, quilt, help2man,
++ libportmidi-dev, libcv-dev, libhighgui-dev,
+ libgl1-mesa-dev, libsdl1.2-dev, libcairo2-dev, librsvg2-dev,
diff --git a/tools/ppa/ppa.sh b/tools/ppa/ppa.sh
new file mode 100755
index 0000000..569081f
--- /dev/null
+++ b/tools/ppa/ppa.sh
@@ -0,0 +1,109 @@
+#!/bin/bash
+# This script fetches fresh git version, applies
+# the changes on top of the current source package
+# from the repositories, builds and signs the new
+# package and uploads it to Launchpad PPA.
+
+#TODO: better changelog (from git?)
+
+
+set -e # Exit on fail
+
+# Assume default GPG key setup and use it for name & email.
+# Export the vars because the tools use these magic variables also.
+export DEBFULLNAME="`gpg --list-keys | grep uid | sed 's/ <.*//; s/.*uid *//'`"
+export DEBEMAIL="`gpg --list-keys | grep uid | sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'`"
+
+# Config
+PKG="performous"
+PPAVERSIONNUM="1"
+VERSIONCOMMON="+git"`date '+%Y%m%d'`"~ppa${PPAVERSIONNUM}"
+SUITES="lucid karmic"
+GITURL="git://git.performous.org/gitroot/performous/performous"
+DESTINATIONPPA="ppa:performous-team/ppa"
+
+TEMPDIR=`mktemp -dt $PKG-ppa.XXXXXXXXXX`
+SOURCEDIR="$TEMPDIR/git"
+PPAPATCHDIR="`pwd`"
+
+ # Copy the new files for source package
+ CopyNewFiles()
+ {
+ COPYCMD="cp -r"
+ $COPYCMD "$1/CMakeLists.txt" "$2"
+ $COPYCMD "$1/cmake" "$2"
+ $COPYCMD "$1/data" "$2"
+ $COPYCMD "$1/docs" "$2"
+ $COPYCMD "$1/editor" "$2"
+ $COPYCMD "$1/game" "$2"
+ $COPYCMD "$1/lang" "$2"
+ $COPYCMD "$1/libs" "$2"
+ $COPYCMD "$1/themes" "$2"
+ $COPYCMD "$1/tools" "$2"
+ }
+
+cd $TEMPDIR
+
+# Download the "old" source package
+version=`apt-cache showsrc $PKG | sed -n 's/^Version: \(.*\)/\1/p' | head -n 1`
+pkgversion=`apt-cache showsrc $PKG | sed -n 's/^Version: \(.*\)-.*/\1/p' | head -n 1`
+pkgversion=${pkgversion##*:}
+if [ -z "$pkgversion" ] ; then
+ echo "Assuming native package"
+ pkgversion="$version"
+fi
+echo "Working on $pkg $version ($pkgversion)"
+mkdir -p $PKG-$version
+cd $PKG-$version
+apt-get --download-only source $PKG
+
+# Download fresh version from git
+echo "Fetch from git..."
+git clone $GITURL $SOURCEDIR
+# Get some info from git for changelog
+pushd .
+cd $SOURCEDIR
+headcommit=`git log | head -n 1 | cut --delimiter=" " -f 2 | cut -c 1-10`
+popd
+
+filenameversion=${version##*:}
+# Loop suites
+for suite in $SUITES ; do
+ versionsuffix="${VERSIONCOMMON}~${suite}"
+ ppaversion="${version}${versionsuffix}"
+ filenameppaversion="${filenameversion}${versionsuffix}"
+ rm -rf $suite
+ mkdir $suite
+ cd $suite
+ ln ../${PKG}_* .
+ dpkg-source -x ${PKG}_$filenameversion.dsc
+ cd $PKG-$pkgversion
+
+ # Copy new files
+ echo "Copy new files..."
+ CopyNewFiles "$SOURCEDIR" .
+ # Apply patches
+ echo "Apply some patches..."
+ cp "$PPAPATCHDIR/"*.patch .
+ patch -p0 < *.patch
+ rm *.patch
+
+ # Do changelog
+ # Dch complains about unknown suites
+ yes '' | dch -b -v $ppaversion -D $suite "Upload development version from Git $headcommit to Ubuntu PPA for $suite."
+ if [ -f debian/source/format -a ! -f debian/patches/series ] ; then
+ rm debian/source/format
+ fi
+ # Build package
+ #dpkg-buildpackage -sa -S # Full .orig.gz
+ dpkg-buildpackage -sd -S # Only .diff.gz
+ pwd
+ cd ..
+ # Upload to PPA
+ dput $DESTINATIONPPA ${PKG}_${filenameppaversion}_source.changes
+ cd ..
+done
+cd ..
+
+echo "Files were kept in $TEMPDIR"
+
|
|
From: Tapio V. <aa...@us...> - 2010-06-05 09:00:36
|
Module: performous Branch: master Commit: c6feab63884bbbdde338b8059559bffc89921856 Author: Tapio Vierros <tap...@gm...> Date: Sat Jun 5 11:56:52 2010 +0300 Set all theme file permissions to 644 (some had +x). --- 0 files changed, 0 insertions(+), 0 deletions(-) diff --git a/themes/default/intro_configure.svg b/themes/default/intro_configure.svg old mode 100755 new mode 100644 diff --git a/themes/default/menu_comment.svg b/themes/default/menu_comment.svg old mode 100755 new mode 100644 diff --git a/themes/default/menu_option_selected.svg b/themes/default/menu_option_selected.svg old mode 100755 new mode 100644 diff --git a/themes/default/message_text.svg b/themes/default/message_text.svg old mode 100755 new mode 100644 |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-30 17:39:30
|
Module: performous
Branch: master
Commit: 1f8f046877aef2e6a148b5afe9578e8d20f1bfc9
Author: Lasse Karkkainen <tro...@tr...>
Date: Sun May 30 20:38:29 2010 +0300
Revert the workaround in engine.hh (no longer needed as the bug in clang++ was fixed).
---
game/engine.hh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/engine.hh b/game/engine.hh
index a164931..f1c7882 100644
--- a/game/engine.hh
+++ b/game/engine.hh
@@ -54,7 +54,7 @@ class Engine {
size_t player = 0;
for (std::list<Player>::iterator it = m_database.cur.begin(); it != m_database.cur.end(); ++it, ++player) it->m_color = playerColors[player % playerColorsSize];
}
- m_thread.reset(new boost::thread(&Engine::operator(), this));
+ m_thread.reset(new boost::thread(boost::ref(*this)));
}
~Engine() { kill(); }
/// Terminates processing
|
|
From: Yoda-JM <yo...@us...> - 2010-05-30 11:44:16
|
Module: performous
Branch: portaudio
Commit: 2a086a48576811bea2b495a908a7348d63050568
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun May 30 13:43:59 2010 +0200
Added few methods to enable simple track play
---
game/audio.cc | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/game/audio.cc b/game/audio.cc
index 66fe695..bc45462 100644
--- a/game/audio.cc
+++ b/game/audio.cc
@@ -145,24 +145,39 @@ void Audio::fadeout(double fadeTime) {
}
double Audio::getPosition() const {
- return 0.0;
+ boost::mutex::scoped_lock l(self->mutex);
+ return self->playing.empty() ? getNaN() : self->playing[0].pos();
}
double Audio::getLength() const {
- return 0.0;
+ boost::mutex::scoped_lock l(self->mutex);
+ return self->playing.empty() ? getNaN() : self->playing[0].duration();
}
bool Audio::isPlaying() const {
- return false;
+ boost::mutex::scoped_lock l(self->mutex);
+ return !self->playing.empty();
}
void Audio::seek(double offset) {
+ boost::mutex::scoped_lock l(self->mutex);
+ for(boost::ptr_vector<Music>::iterator it = self->playing.begin() ; it != self->playing.end() ; ++it) {
+ it->seek(clamp(it->pos() + offset, 0.0, it->duration()));
+ }
+ pause(false);
}
void Audio::seekPos(double pos) {
+ boost::mutex::scoped_lock l(self->mutex);
+ for(boost::ptr_vector<Music>::iterator it = self->playing.begin() ; it != self->playing.end() ; ++it) {
+ it->seek(pos);
+ }
+ pause(false);
}
void Audio::pause(bool state) {
+ boost::mutex::scoped_lock l(self->mutex);
+ pause(state);
}
void Audio::streamFade(std::string stream_id, double level) {
|
|
From: Yoda-JM <yo...@us...> - 2010-05-30 11:11:41
|
commit d3d2634a2581e1732bfebaaf9fc5f0344d1a2c76
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun May 30 13:11:14 2010 +0200
Fixed compilation error
commit 6fc0a38608954259145f5a3eef66639f7e062e56
Merge: 04c09a279de7be78393b151a1b20b7ed7588453b aacf6c3a47530f202eccafa50e1e53471e2d5c3b
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun May 30 13:01:32 2010 +0200
Merged and solved conflict from master
commit aacf6c3a47530f202eccafa50e1e53471e2d5c3b
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat May 29 12:52:14 2010 +0200
Updated French translation
commit 997c3cf373fedb83264c3fdc09fe0e3f66d28870
Author: Tapio Vierros <tap...@gm...>
Date: Fri May 28 23:02:21 2010 +0300
Disable kiddy mode for guitar as it is not implemented
and breaks bass/other guitar tracks.
commit 8d55d56ae84197f1969916ac431b2fa4032a3aba
Author: Tapio Vierros <tap...@gm...>
Date: Fri May 28 21:36:07 2010 +0300
Fix: Don't assume all lone tracks as guitar.
commit 1d59260c92007887853dc91643327c9f9745f08d
Author: Felix Bertram <fl...@be...>
Date: Wed May 26 21:33:19 2010 -0700
Kiddy mode
- removed flag from config
- increased timing window for kids
- now enabled via kick drum; will need to change in the future
commit 35bbdc9316808aa84750f007b0f4fbcaafaea342
Author: Felix Bertram <fl...@be...>
Date: Mon May 24 21:28:06 2010 -0700
Added kids mode
In this mode the Easy difficulty uses kids rules.
Feature enabled by setting game/kids_mode in config file.
commit 3566fec4c29042cebb6112ee283d4c7cfcaf037e
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon May 24 06:15:01 2010 +0300
Comment the code better.
commit cabb4759685fdf63a5f1652925af740eaa910be5
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 21:05:25 2010 +0300
Another struct vs. class problem.
commit 8165e44251009ddff766a304272c3cb24bbcd54b
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 20:45:17 2010 +0300
Add a missing const that for some reason had gone undetected by other compilers (detected by clang++).
commit be4c165aeeb2740b0f1cccada27b5a24db5c3750
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 20:16:33 2010 +0300
Fix clang++ compile error (ambiguous overload of boost::thread) and warnings (struct vs. class). Compilation still broken due to OpenCV bugs (in the library, not Performous) and I didn't manage to link the C++ standard library correctly yet.
commit fd341f0340f2cfcf2b8708ee7f9d278abf886f94
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 20:14:04 2010 +0300
Update TODO with bugs that I don't have time to investigate right now.
commit e108090f38deabfecc1ba9deef67d55f1ac43585
Author: Tapio Vierros <tap...@gm...>
Date: Sat May 22 20:04:07 2010 +0300
Move OpenCV includes to webcam.cc
commit 46ab1e1857b32282793a6dce1459f2acaa70133f
Author: Felix Bertram <fl...@be...>
Date: Fri May 21 22:00:46 2010 -0700
display song section next to progress bar
commit dc2cb48f05fe2e17c10389b3edf20ace69c43c32
Author: Felix Bertram <fl...@be...>
Date: Fri May 21 20:13:49 2010 -0700
Cleanup for song sections
commit eca9c401fa7b6140692e7291c2765d84d8f7f7e0
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Thu May 20 17:22:41 2010 +0200
Spanish translation updated.
commit 1e38a29a1cbe2f2b03b1da70c5ffe17a3ca948c9
Author: Tapio Vierros <tap...@gm...>
Date: Thu May 20 16:27:06 2010 +0300
Localize popup texts (and some others) + update FI translation.
commit 1fa9df0237d4d992acefcf13c9380fa73c01862c
Author: Tapio Vierros <tap...@gm...>
Date: Wed May 19 12:32:03 2010 +0300
Handle GL_TEXTURE_MAX_ANISOTROPY_EXT as a potential trouble maker.
commit 6d98e46fd37c8897b7f88b366de8ab524a10a627
Author: Tapio Vierros <tap...@gm...>
Date: Wed May 19 12:12:24 2010 +0300
Attempt to be MSVC friendly.
commit 5557d7d2d57c900ea81306f7603e6d527d24b176
Author: Felix Bertram <fl...@be...>
Date: Tue May 18 22:09:37 2010 -0700
RockBand song sections
* parse song sections from MIDI file
* populate vector of song sections
* jump forward/backward to next song section
commit f0056823956481883d2aacedbe9074ed729a5d63
Author: Xaldyz <xa...@us...>
Date: Tue May 18 22:39:36 2010 +0200
Fixed uint8_t using boost libraries
commit ef74a3721333bf49ddf4985a8db0cfc5c26c0ed1
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon May 17 23:49:35 2010 +0200
Removed compile warning
commit b1c421f660380e32c50f5fc18dd3847c36fd3a89
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon May 17 23:29:50 2010 +0200
Moved i18n specific code out of main.cc
commit 4024ea60adccf2ef75f9080cf617c0dc0f405f36
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 22:41:50 2010 +0300
Moved all #ifdef USE_OPENCV stuff inside webcam files (prettier screen_sing).
If you have trouble compiling with OpenCV disabled
(should be no trouble), fix things in webcam.hh/.cc
commit fb78665efb6d15b2f58b212afb37f155f0d1a764
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 22:01:08 2010 +0300
Fix solo accuracy counter, more testing needed.
commit 9b8cf0450f8b50ec272f73c0264e8949c29d3fdd
Merge: 4dd2b5953f02c10526995a44a0ada2e79c69781a 90a25ca950f957e09004b45f6d43c18c32bd8084
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 19:55:43 2010 +0300
Merge branch 'instrumentgraph'
commit 90a25ca950f957e09004b45f6d43c18c32bd8084
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 19:45:21 2010 +0300
Bigger (and dedicated) font for popups (better quality).
commit 1282f4c1da8f1d222a552b4c4ce822bac03185a5
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 17:50:00 2010 +0300
Move & rearrange stuff in *Graphs.
commit 2fb45e893745d6917ee0601d256966ad76535590
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 17 16:38:24 2010 +0300
Improvements to countdown thingy.
* Handled in InstrumentGraph.
* Works in dance mode too.
* Works when joining mid-game too.
commit 4dd2b5953f02c10526995a44a0ada2e79c69781a
Author: Felix Bertram <fl...@be...>
Date: Sun May 16 22:26:09 2010 -0700
Fix Hi-Hat, decode song sections
commit 7f84b2564cbb30139934671342314c0b265b9ee2
Merge: 77edaf5cfec85b522c753172490210c178f28eee 085b849f444709fa0c3ccba90b82ec4e9932e689
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 16 19:28:41 2010 +0300
Merge branch 'master' into instrumentgraph
Conflicts:
game/dancegraph.hh
game/guitargraph.cc
game/guitargraph.hh
commit 085b849f444709fa0c3ccba90b82ec4e9932e689
Author: Tapio Vierros <tap...@gm...>
Date: Wed May 12 21:03:30 2010 +0300
Fix crash when trying to enable pre-disabled webcam.
commit ae34964527610b8007ad0743244ff43a8599348f
Author: Xaldyz <xa...@us...>
Date: Wed May 12 19:18:46 2010 +0200
Fixed linking problem when library OpenCV not set
commit 4aaebcb3cd0365fe2308ac96022f4a77e2a52f71
Author: Tapio Vierros <tap...@gm...>
Date: Wed May 12 17:17:16 2010 +0300
Some mingw32 build tweaks.
commit 1c34970719f359b35a3b0acb8cfe9b957cd45a13
Author: Tapio Vierros <tap...@gm...>
Date: Wed May 12 12:44:04 2010 +0300
Dance arrow size is determined by number of arrows.
commit 86b176060de04577bbfe1d27eaef8c9103c509c3
Author: Felix Bertram <fl...@be...>
Date: Tue May 11 22:17:30 2010 -0700
More MIDI Drum notes
added some more MIDI drum notes to accommodate most real-life mappings
might need some more tweaking and testing with other gear.
commit 42828c6feb68201d5222edf79038e9314b8caec8
Author: Felix Bertram <fl...@be...>
Date: Tue May 11 22:16:22 2010 -0700
image type detection
The image type detection from the file extension was broken,
the extension was not properly converted to lower case.
commit 81486be5fedcde4efe88b973e4d4cfcedc125e00
Author: Ville Immonen <imm...@gm...>
Date: Tue May 11 23:48:09 2010 +0300
Missing include added to webcam.hh.
commit 1867afe0c66c1a3a9fc4ac250291c8d556af69ea
Merge: c0e27ca4d9869a7e01549231420f8d7b001e641d c4a4ccf83e08b2a3ff73b2fce3c23dd512cda22e
Author: Tapio Vierros <tap...@gm...>
Date: Tue May 11 22:46:50 2010 +0300
Merge branch 'opencv'
commit c0e27ca4d9869a7e01549231420f8d7b001e641d
Author: Tapio Vierros <tap...@gm...>
Date: Tue May 11 14:02:11 2010 +0300
Add some OpenGL error checking to video_driver and surface.
commit 5dccd03d02471c3304c79d9f667db069244515e2
Author: Tapio Vierros <tap...@gm...>
Date: Tue May 11 13:30:06 2010 +0300
Add some SDL_GL_SetAttribute error indication.
commit c4a4ccf83e08b2a3ff73b2fce3c23dd512cda22e
Author: Tapio Vierros <tap...@gm...>
Date: Tue May 11 12:45:35 2010 +0300
Output compilation status of optional features with version info.
commit 60e11471abb9b0732299134590de9315a69e7312
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 10 19:40:43 2010 +0300
Fix a texture wrapping bug in instrument icons.
commit 51420a701ab10727adfae93c56a817f0056cfe98
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 10 15:44:02 2010 +0300
Some OpenCV CMake tweaks.
commit 7c43188229e352f1d57f5c31a4e89c7a2c2ca5b9
Author: Tapio Vierros <tap...@gm...>
Date: Mon May 10 15:03:27 2010 +0300
Webcam tweaks.
* Fix colors.
* Higher framerate limit.
* Allow regular video to display if webcam is disabled during gameplay.
commit 20d97b7c8222752ea8128258c2efad19d54d0779
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 23:33:06 2010 +0300
Fix crash when trying to join NULL thread in ~Webcam.
commit ca00c323c43e578cd5553f5ca0bc1545494a6907
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 23:24:47 2010 +0300
Threaded webcam - much better framerate.
commit 3d4d8058f480f6813bcafbdb28ec115fa52425ba
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 21:48:42 2010 +0300
Make OpenCV (and thus webcam support) optional (in style of MIDI drum support).
commit 9866cca05a8ec52bc1e85c0850122700e923cf1b
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 21:24:56 2010 +0300
Webcam can be disabled from config or toggled during gameplay.
commit e1a820aafc163ffebd132e6b0e0d2aee48ea6870
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 20:53:37 2010 +0300
Refactor webcam class.
commit 2d8f567cf8546e28b14b287b79bc14e5d863fd97
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 20:24:40 2010 +0300
Better FindOpenCV.cmake
commit 9552dbc7a104e7110cce99f4ff8757180fbe28f8
Author: Tapio Vierros <tap...@gm...>
Date: Sun May 9 18:06:07 2010 +0300
Crude webcam background through OpenCV.
* OpenCV CMake script is very much broken.
* Colors are b0rked (probably wrong component order).
* Webcam video framerate is very slow to keep overall fps playable.
commit 96105ecf1e013efc974617fab3dd146584ecff63
Author: Xaldyz <xa...@us...>
Date: Sat May 8 00:14:02 2010 +0200
Fixed Gettext recognition under Windows
commit 4eb77bb33e33ff4138aef10b6668caeeab0f6a1b
Author: Felix Bertram <fl...@be...>
Date: Thu May 6 22:06:43 2010 -0700
FoFiX songs often come with album art that has a PNG extension
but is actually in JPEG format. This fix catches the exception
thrown by the PNG loader and then tries to reload the picture
as JPEG. This is not pretty - but recoding the artwork is also
not an option.
commit af4abf0bd98da5d3c3f49bfce4e912879d656192
Author: Felix Bertram <fl...@be...>
Date: Wed May 5 21:35:25 2010 -0700
Fixes to MIDI drums
* modified drum mapping (Alesis DM5, RockBand 2 songs)
* accept note-on events on all channels
* interpret note-on with velocity 0 as note-off
* set event::pressed
commit 1c0db79304738b221a99958e3bb1120a7ddee5f4
Author: Ville Immonen <imm...@gm...>
Date: Mon Apr 26 20:06:34 2010 +0300
Added new controller mapping to comments of game/instruments in schema.xml
commit 10cc3e27459959e6098e7568386dde4305d6c1ac
Author: Ville Immonen <imm...@gm...>
Date: Mon Apr 26 13:15:54 2010 +0300
A mapping for 2-TECH usb dance pad
commit cf97cf631b2b650e57eef46a69462fc17e11698a
Author: Tapio Vierros <tap...@gm...>
Date: Sun Apr 25 09:18:18 2010 +0300
Document lefty mode in instrument selection screen.
commit afed70b8e9cd330abc58c20927b16f12cbd7ea7c
Author: Tapio Vierros <tap...@gm...>
Date: Sun Apr 25 09:16:13 2010 +0300
Lefty mode switch changed to yellow + blue for easier documenting and less accidental activations.
commit 6f98d85edd83005606d29653ef771ee69f8e43a7
Author: Tapio Vierros <tap...@gm...>
Date: Thu Apr 22 21:18:17 2010 +0300
Fix broken guitar lefty-mode switch.
commit ee397fce2972382fa00978d9e6e0e11d93d113f7
Author: Vincent Le Ligeour <yo...@us...>
Date: Thu Apr 22 08:27:48 2010 +0200
Added 2 ini files entries (creator and genre)
commit 5e00aa00ca9951cae25421cc2bb2f7334a04d9d3
Author: Tapio Vierros <tap...@gm...>
Date: Wed Apr 21 12:49:59 2010 +0300
Lefty-mode for drums.
commit 77edaf5cfec85b522c753172490210c178f28eee
Author: Tapio Vierros <tap...@gm...>
Date: Wed Apr 21 11:49:42 2010 +0300
Add a 3s countdown to instrument notes start using popups.
commit 03cf8629a9971732a456fda6e49e196ba69447e8
Author: Lasse Karkkainen <tro...@tr...>
Date: Wed Apr 21 11:34:43 2010 +0300
Midifile cleanup of previous patch
commit e87fb7d5e5c73908a2951a34be02657b0185cf3c
Author: Lasse Karkkainen <tro...@tr...>
Date: Wed Apr 21 02:25:52 2010 +0300
Fix MIDI parser handling of events 0xC and 0xD that would b0rk parsing until now
commit d054237f3662abf9067b12ad9cd39bec58c1128a
Author: Tapio Vierros <tap...@gm...>
Date: Tue Apr 20 22:17:02 2010 +0300
Try hit accuracy indicator in Z-direction.
commit 684754eb3e90cc1a985c1c9beb6c0b2fd94aebdc
Author: Tapio Vierros <tap...@gm...>
Date: Tue Apr 20 21:47:31 2010 +0300
Revert "Test vertical instrument error indicator instead of horizontal."
Reason: Horizontal is better.
This reverts commit 5fa954ab274fd268f4394ed3d66232d9a45a9b20.
commit 5fa954ab274fd268f4394ed3d66232d9a45a9b20
Author: Tapio Vierros <tap...@gm...>
Date: Sat Apr 17 12:57:31 2010 +0300
Test vertical instrument error indicator instead of horizontal.
Switch around guitargraph.cc:760
commit 088022b8b38816955345a305bb99001952d86530
Author: Tapio Vierros <tap...@gm...>
Date: Sat Apr 17 12:21:43 2010 +0300
Instrument hit indicator flashes with perfect hit and fades away when not used.
commit 977439fa1d089fc349874e52ee724c29c8b22a27
Merge: 7114b259e15774461e8b416511fac9c47c1ef924 82968bf14af96fc0878abfc91e57fbe4baeb937c
Author: Lasse Karkkainen <tro...@tr...>
Date: Thu Apr 15 12:33:42 2010 +0300
Merge branch 'master' of ssh://git.performous.org/gitroot/performous/performous
commit 7114b259e15774461e8b416511fac9c47c1ef924
Author: Lasse Karkkainen <tro...@tr...>
Date: Thu Apr 15 12:32:46 2010 +0300
Added support for Redoctane XBOX DDR dance pad
commit 82968bf14af96fc0878abfc91e57fbe4baeb937c
Author: Tapio Vierros <tap...@gm...>
Date: Thu Apr 15 10:10:26 2010 +0300
Lefty-mode for guitars. Activated by pressing green+red.
commit a2c6b1b5a20760ca3d64b1ddb145fd09b2f2ae3e
Author: Vincent Le Ligeour <yo...@us...>
Date: Wed Apr 14 13:45:56 2010 +0200
Fixed compilation error (boost::filesystem::path::clear() has been added in 1.40)
commit 7e7275656424427603489aaf1ab3182c1fde1f17
Author: Vincent Le Ligeour <yo...@us...>
Date: Wed Apr 14 08:54:45 2010 +0200
Fixed buggy copy/paste in ss extract tool
commit 2efa9d0ca236ffcbff9eb4f5a81247845fc2acf7
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Apr 13 09:09:44 2010 +0200
Moved song out of LayoutSinger and NoteGraph class (we only need a vocal track here)
commit 568299eef43ca91ef2684f4139a334a77b0313f2
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Apr 13 08:51:27 2010 +0200
Moved song out of Player and Engine class (we only need a vocal track here)
commit b8b432a84c323c445569dd56e8bd768077c4f3c4
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 23:02:18 2010 +0300
Primitive VU meter to prototype instrument hitting accuracy indicator.
commit 5fed141db16302c3b3d66b448a510b248e1eca21
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 21:31:03 2010 +0300
Add an accuracy indicator after solos.
commit a64e3237b3a865651b0730627c0e2b58790375a9
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 20:48:04 2010 +0300
Easy creation of "pop-up" messages for InstrumentGraph.
commit b2d35c05b062b6e9610ea3428371fc2211dc53dc
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 20:24:58 2010 +0300
Fix bug causing InputDev always unassigning and thus never throwing NotFound.
commit 5d74a0bb7f6eb2d1f5a04d4e37cb65494d66549b
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 19:32:01 2010 +0300
Screen_sing's containers now hold InstrumentGraph instead of Guitar/Dance.
commit ebe9b725dbf4ad69ebcb7e48b7c07c2b3862b1b7
Merge: 3776f99baadb0a5c7ec43612e2f9252dbd97594d bb463227d2d07e9a55b9b88ae3f0bb22f38e148b
Author: Tapio Vierros <tap...@gm...>
Date: Mon Apr 12 18:20:07 2010 +0300
Merge branch 'master' into instrumentgraph
Conflicts:
game/guitargraph.cc
commit bb463227d2d07e9a55b9b88ae3f0bb22f38e148b
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 20:23:02 2010 +0200
Today I learned that fixing code could lead to regressions
commit fb7a20a7fecc67aec01189bf664db52fa6e9cf51
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 20:13:27 2010 +0200
Fixed Singstar PAL/NTSC decoding
commit 848bbdabf2506416c187633a40dd788f8a40f041
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 18:25:24 2010 +0200
Fixed segfault in ss_extract on US disks
commit fb9e7003f267d24275b8dcfcbdfac9bf111ce87a
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 18:11:06 2010 +0200
Added US Singstar video support
commit 46e789f2bd67c9f150e28a1471fb2e2207b60a49
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 17:41:12 2010 +0200
Fixed previous commit
commit b828caeac2bbe0bb96e878d79ff982d7599f3b57
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 17:15:14 2010 +0200
Added US Singstar DVD support
commit 826eb5e6e1fca4aa343f5a28a63e32b816e2462b
Author: Vincent Le Ligeour <yo...@us...>
Date: Sun Apr 11 13:22:00 2010 +0200
Added some usefull debug
commit b89d8c72cc3ae98ac1fa1eb54d16d5df755ed56b
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 10 14:46:19 2010 +0200
Fixed copy/paste error disabling drums track mute
commit 5e0ea6cefa869be04cba5f82e3ff43f9b0aa37dd
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 10 10:14:45 2010 +0200
Fixed bug not displaying the notegraph anymore
commit 0481fc1fd165a5a399b991a170f049fe475c35bc
Merge: 1d812673b68b8bbefba757bada9015eac5354e91 5f12b33204db72f06ea5d72e43fba66356b5f399
Author: Xaldyz <xa...@us...>
Date: Fri Apr 9 16:04:01 2010 +0200
Merge branch 'master' of ssh://performous.git.sourceforge.net/gitroot/performous/performous
commit 1d812673b68b8bbefba757bada9015eac5354e91
Author: Xaldyz <xa...@us...>
Date: Fri Apr 9 16:03:07 2010 +0200
Fixed pratice text under Windows
commit 5f12b33204db72f06ea5d72e43fba66356b5f399
Author: Vincent Le Ligeour <yo...@us...>
Date: Fri Apr 9 10:43:19 2010 +0200
Moved more member of the Song structure to the VocalTrack structure
commit ef9edb05ca8f85b6488dba20648f95f53089efab
Author: Vincent Le Ligeour <yo...@us...>
Date: Fri Apr 9 01:52:09 2010 +0200
Cleaned instrument track names
commit 4e0cc6d201b697e8d84950f4afdfb931ff22b2dc
Author: Vincent Le Ligeour <yo...@us...>
Date: Fri Apr 9 01:02:03 2010 +0200
Merged all that is related to vocals inside a song to a single struct (path to the duet and harmonics)
commit 9c3d23ba5e117cd17a566c1b511da7b17dc775aa
Author: Vincent Le Ligeour <yo...@us...>
Date: Thu Apr 8 15:45:54 2010 +0200
Added midi time signature event management
commit a6abb22c35a3f9c4311d88e074bdf3696639a746
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Apr 6 20:23:12 2010 +0200
Fixed end of line typo
commit 92ffeb0d66608bdaa44320fd14c9c72f9ccafdfe
Author: Xaldyz <xa...@us...>
Date: Tue Apr 6 02:01:37 2010 +0200
Updated Italian translation
commit c9695e39b061bfffea6ee9274f027c11f11a9e83
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon Apr 5 12:36:32 2010 +0200
Fixed filtering by instrument not being displayed when no song is found
commit c8ae1145a2f3ae92d922b6103a128743b77d7302
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Mon Apr 5 11:47:54 2010 +0200
Updated Spanish Translation.
commit b0345a8a4f4ae3bc91b0079cb878d86bc8aaaf40
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon Apr 5 10:34:00 2010 +0200
Fixed dance-only tracks no cover image
commit 8899bc3c6c28d30a79f54f9729359989e42c1467
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 3 12:58:35 2010 +0200
Used Window object from within screen manager (used elsewhere, either totally remove or use it when we can)
commit e07e05e8de8644e7ce280fe3d1e48b55d84fc65d
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 3 12:46:39 2010 +0200
Fixed some typo
commit a967dfff556b9852cef3655088fb19243e68ec24
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 3 12:28:26 2010 +0200
Updated French translation
commit 70b1fc4dcbe17bc6839bef8a84eb3fef6fcf700a
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Apr 3 11:16:40 2010 +0200
Updated gentoo ebuild and removed debug message
commit d174cdb188a2c55957861a1d3c485091f1c6e903
Author: Tapio Vierros <tap...@gm...>
Date: Wed Mar 31 20:48:12 2010 +0300
Hack a better score display for lone instrument player.
commit 0c2c6f693dd3c0141ed05066f6079e7a4961305e
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Mar 30 23:53:07 2010 +0200
Fixed some UltraStar files misdetected as Stepmania files (reported by duke42)
commit 61587646fa32eb0f3d41c96e319bd6e66b5e1a58
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Mar 30 23:44:30 2010 +0200
Enhanced song parser exception message
commit 9df0c6037708637765101091cfbab562a1024bee
Author: Vincent Le Ligeour <yo...@us...>
Date: Mon Mar 29 01:24:47 2010 +0200
Fixed Windows installation file list (missing theme files)
commit 3776f99baadb0a5c7ec43612e2f9252dbd97594d
Author: Tapio Vierros <tap...@gm...>
Date: Fri Mar 26 19:49:10 2010 +0200
InstrumentGraph: contains shared stuff from dance- and guitargraph.
commit 13a5d0ccee553a62b3937f1bc1ac482098f23a57
Author: Tapio Vierros <tap...@gm...>
Date: Fri Mar 26 18:54:17 2010 +0200
Tweak instrument score display.
* Lower to avoid clashing with lyrics in 16:9 aspect ratio.
* Streak counter to the same side as scores and more neutral in color.
commit 8596613a16216a294b99ce8e6513c1531d8a90f9
Author: Lasse Karkkainen <tro...@tr...>
Date: Fri Mar 19 15:36:19 2010 +0200
Better handling of Ctrl+C (allow killing the program even if something hangs).
commit c8b11ddcc6cb383dcfe9af462c645a37a4fc83b3
Author: Vincent Le Ligeour <yo...@us...>
Date: Wed Mar 17 10:42:16 2010 +0100
Added left-handed feature request
commit 348347f093dc97fc55f19f376dfac5ab9445b67c
Author: Vincent Le Ligeour <yo...@us...>
Date: Tue Mar 16 15:48:36 2010 +0100
Added a bug to the TODO
commit 5a7532963937c2b2eec04860963ee1d3baeda3b6
Merge: 3769cd192f64f476e6b5550f4eaa6b162a4572ab baac6e7535a66f3c79b49eebdbd0b50d3cee56d7
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Mar 15 14:54:28 2010 +0200
Merge branch 'master' of ssh://git.performous.org/gitroot/performous/performous
commit 3769cd192f64f476e6b5550f4eaa6b162a4572ab
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Mar 15 14:53:23 2010 +0200
Revert guitar/bass/drumnecks to the old versions before th3pr0ph3t theme patch.
commit baac6e7535a66f3c79b49eebdbd0b50d3cee56d7
Author: Tapio Vierros <tap...@gm...>
Date: Mon Mar 15 14:51:19 2010 +0200
Drum fill's end note is grey until acceptable.
commit 0a18697570f3ed175c079286caaca1f83cb2049d
Merge: 4cb0dbf66aa588b7d38f70ab175f8fceea4c4cbe 8608a2ea436a51ace97bc68cabe44c00def291ba
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Mon Mar 15 12:28:53 2010 +0100
Merge branch 'hiscore_in_songbrowser'
commit 4cb0dbf66aa588b7d38f70ab175f8fceea4c4cbe
Author: Tapio Vierros <tap...@gm...>
Date: Mon Mar 15 12:08:48 2010 +0200
I18n to "no hiscore", update FI translation.
commit 8608a2ea436a51ace97bc68cabe44c00def291ba
Author: Tapio Vierros <tap...@gm...>
Date: Mon Mar 15 12:00:30 2010 +0200
Tweaks to hiscrore in songbrowser.
* Allow starting song in hiscore mode.
* Fix broken scrolling-by-one.
* Refactor bounds-check (move to one place, easier to understand).
commit 7283e6a12cd19ebd54b228d9036bc969a4ba6f28
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Mon Mar 15 02:40:54 2010 +0100
Fixed last bug. Performous wont crash while scrolling hiscores.
commit 80c3a1cfd5b11f5ceee9c539828f1691508a7129
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Mon Mar 15 00:47:48 2010 +0100
Clean up. Bug is not solved.
commit 9f2754676bd24c0502db70467e38b06b10dcb8ec
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Sun Mar 14 20:26:57 2010 +0100
Hiscores displayed in screen_songs.
Music is not interrupted.
No more than 5 hiscores can be displayed at a time, but you do can navigate through them using UP and DOWN arrows.
commit 81ed6d3f8d63ca1cd78cc6c80c098e6a44d892a1
Author: Lasse Karkkainen <tro...@tr...>
Date: Sun Mar 14 12:05:20 2010 +0200
Fix failvolume (need testing).
commit 5b25b2cc5f730f374977947eb031765541a53386
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Mar 13 13:34:06 2010 +0100
Fixed FoF midi delay
commit 4a637ae11abdc13b1da1bfb003595f17d0f08e97
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Mar 13 10:52:32 2010 +0100
Fixed locale folder
commit 38aefb8366f9437049738f79d88a59d70dec69e0
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Mar 6 12:05:11 2010 +0100
Added Boost 1.42 detection, added ini delay key
|
|
From: Yoda-JM <yo...@us...> - 2010-05-29 10:52:30
|
Module: performous Branch: master Commit: aacf6c3a47530f202eccafa50e1e53471e2d5c3b Author: Vincent Le Ligeour <yo...@us...> Date: Sat May 29 12:52:14 2010 +0200 Updated French translation --- lang/fr.po | 91 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 60 insertions(+), 31 deletions(-) diff --git a/lang/fr.po b/lang/fr.po index 932a38e..0c44ce3 100644 --- a/lang/fr.po +++ b/lang/fr.po @@ -2,10 +2,11 @@ msgid "" msgstr "" "Project-Id-Version: Performous\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-03 12:25+0100\n" +"POT-Creation-Date: 2010-05-29 12:51+0100\n" "PO-Revision-Date: \n" "Last-Translator: Vincent Le Ligeour <yo...@us...>\n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -13,6 +14,10 @@ msgstr "" "X-Poedit-Basepath: .\n" "X-Poedit-SearchPath-0: ../game\n" +#: ../game/dancegraph.cc:240 +msgid "Streak!" +msgstr "D'affilé" + #: ../game/database.cc:107 msgid "No Items up to now." msgstr "Aucun élément jusqu'à présent" @@ -33,60 +38,60 @@ msgstr "Chanson cassée" msgid "Song contains broken tracks!" msgstr "Chanson contenant des morceaux cassés" -#: ../game/screen_sing.cc:330 +#: ../game/screen_sing.cc:372 msgid " ENTER to skip instrumental break" msgstr " \"Entrée\" pour passer l'instrumental" -#: ../game/screen_sing.cc:331 +#: ../game/screen_sing.cc:373 msgid " Remember to wait for grading!" msgstr " N'oubliez pas d'attendre pour votre classement!" -#: ../game/screen_sing.cc:419 +#: ../game/screen_sing.cc:461 msgid "No player!" msgstr "Aucun joueur n'a été trouvé!" -#: ../game/screen_sing.cc:428 +#: ../game/screen_sing.cc:470 msgid "Hit singer" msgstr "Superstar" -#: ../game/screen_sing.cc:429 +#: ../game/screen_sing.cc:471 msgid "Lead singer" msgstr "Soliste" -#: ../game/screen_sing.cc:430 -#: ../game/screen_sing.cc:436 -#: ../game/screen_sing.cc:442 +#: ../game/screen_sing.cc:472 +#: ../game/screen_sing.cc:478 +#: ../game/screen_sing.cc:484 msgid "Rising star" msgstr "Etoile montante" -#: ../game/screen_sing.cc:431 -#: ../game/screen_sing.cc:437 -#: ../game/screen_sing.cc:443 +#: ../game/screen_sing.cc:473 +#: ../game/screen_sing.cc:479 +#: ../game/screen_sing.cc:485 msgid "Amateur" msgstr "Amateur" -#: ../game/screen_sing.cc:432 -#: ../game/screen_sing.cc:444 +#: ../game/screen_sing.cc:474 +#: ../game/screen_sing.cc:486 msgid "Tone deaf" msgstr "Casserole" -#: ../game/screen_sing.cc:434 +#: ../game/screen_sing.cc:476 msgid "Maniac" msgstr "Maniac" -#: ../game/screen_sing.cc:435 +#: ../game/screen_sing.cc:477 msgid "Hoofer" msgstr "Claquettiste" -#: ../game/screen_sing.cc:438 +#: ../game/screen_sing.cc:480 msgid "Loser" msgstr "Perdant" -#: ../game/screen_sing.cc:440 +#: ../game/screen_sing.cc:482 msgid "Virtuoso" msgstr "Virtuose" -#: ../game/screen_sing.cc:441 +#: ../game/screen_sing.cc:483 msgid "Rocker" msgstr "Rockeur" @@ -138,11 +143,11 @@ msgstr "" "\n" "Veuillez en configurer certains avant de jouer." -#: ../game/screen_songs.cc:193 +#: ../game/screen_songs.cc:195 msgid "No songs found!" msgstr "Aucun morceau trouvé!" -#: ../game/screen_songs.cc:194 +#: ../game/screen_songs.cc:196 msgid "" "Visit performous.org\n" "for free songs" @@ -150,43 +155,43 @@ msgstr "" "Visitez performous.org\n" "pour des morceaux gratuits" -#: ../game/screen_songs.cc:196 +#: ../game/screen_songs.cc:198 msgid "no songs match search" msgstr "aucun morceau ne satisfait la recherche" -#: ../game/screen_songs.cc:204 +#: ../game/screen_songs.cc:206 msgid "(press END to view hiscores)" msgstr "(presser Fin pour voir le classement)" -#: ../game/screen_songs.cc:205 +#: ../game/screen_songs.cc:207 msgid "<type in to search>" msgstr "<Entrez votre recherche>" -#: ../game/screen_songs.cc:210 +#: ../game/screen_songs.cc:212 msgid "Hiscore for " msgstr "Records pour " -#: ../game/main.cc:164 +#: ../game/main.cc:159 msgid "Audio capture..." msgstr "Entrée sonore..." -#: ../game/main.cc:166 +#: ../game/main.cc:161 msgid "Audio playback..." msgstr "Sortie sonore..." -#: ../game/main.cc:169 +#: ../game/main.cc:164 msgid "Miscellaneous..." msgstr "Divers" -#: ../game/main.cc:183 +#: ../game/main.cc:178 msgid "Main menu..." msgstr "Menu principal..." -#: ../game/main.cc:194 +#: ../game/main.cc:189 msgid "Screenshot taken!" msgstr "Capture d'écran effectuée" -#: ../game/main.cc:197 +#: ../game/main.cc:192 msgid "Screenshot failed!" msgstr "Echec de la capture d'écran" @@ -250,3 +255,27 @@ msgstr "classement par chemin" msgid "sorted by language" msgstr "classement par langue" +#: ../game/guitargraph.cc:331 +msgid "" +"God Mode\n" +"Activated!" +msgstr "" +"God Mode\n" +"Activé" + +#: ../game/guitargraph.cc:332 +msgid "Mistakes ignored!" +msgstr "Erreurs ignorées!" + +#: ../game/guitargraph.cc:978 +msgid "Drum Fill!" +msgstr "Solo Batterie" + +#: ../game/guitargraph.cc:979 +msgid "God Mode Ready!" +msgstr "God Mode Prêt!" + +#: ../game/guitargraph.cc:984 +msgid "Solo!" +msgstr "Solo!" + |
|
From: Tapio V. <aa...@us...> - 2010-05-29 08:49:11
|
Module: web Branch: master Commit: 2e092395c454c853ab9598be99ce2cca7f2c10d4 Author: Tapio Vierros <tap...@gm...> Date: Sat May 29 11:46:27 2010 +0300 Add more links to wiki and testing builds. Hopefully people will find them more easily now. --- htdocs-source/about.txt | 2 +- htdocs-source/install.txt | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/htdocs-source/about.txt b/htdocs-source/about.txt index 807ce0b..b1e9648 100644 --- a/htdocs-source/about.txt +++ b/htdocs-source/about.txt @@ -74,5 +74,5 @@ Since 0.5.0 you can use dance pad to play dance songs in StepMania format. Again :h2:How to get performing? -Install the program from the download page, then get some song packages from the song page. +Install the program from the <a href="install.html">download page</a>, get some song packages from the <a href="songs.html">song page</a> and browse through the <a href="http://wiki.performous.org/">documentation</a> if you have any problems. diff --git a/htdocs-source/install.txt b/htdocs-source/install.txt index 78f8f92..3b8ea1d 100644 --- a/htdocs-source/install.txt +++ b/htdocs-source/install.txt @@ -4,11 +4,14 @@ How to get performing Song downloads can be found on the separate <a href="songs.html">songs page</a>. +If you have problems, please have a look at the <a href="http://wiki.performous.org/">documentation</a>. + :h2:Windows WinXP or better: <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0.exe/download">installer</a> + <em>Note:</em> You can find new features and bugfixes in the <a href=http://wiki.performous.org/index.php/Nightly_Builds>testing builds</a>. -:h2:Mac OS X +:h2:Mac OS X OS X 10.5: <a href="https://sourceforge.net/projects/performous/files/performous/0.5.0/Performous-0.5.0.dmg/download">bundle</a> @@ -28,17 +31,10 @@ If you get an error about unsatisfied dependencies on Ubuntu, you may have to en Source code (v0.5.1): <a href="http://sourceforge.net/projects/performous/files/performous/0.5.1/Performous-0.5.1-Source.tar.bz2/download">universal</a> - The very latest source code is available in our Git repository. See the <a href="http://wiki.performous.org/index.php/Developing">documentation wiki</a> for more information. + The very latest source code is available in our Git repository. See the <a href="http://wiki.performous.org/index.php/Developing">development wiki pages</a> for more information. You can find testing binaries of the development version <a href="http://wiki.performous.org/index.php/Nightly_Builds">here</a>. :h2:Troubleshooting -If you have previously installed from source, be sure to erase any files left over from that or otherwise Performous may use wrong files. Clear the following files/folders: - - /usr/local/bin/performous - /usr/local/lib/libda - /usr/local/share/games/performous - -Performous installs other files as well, but those won't interfere with the game. See install_manifest.txt in your build folder for a full list of files installed. - +Our documentation is gathered in a <a href="http://wiki.performous.org/">wiki</a>, which includes a lot of information on e.g. controls, installing songs and configuring sound. You are also welcomed to ask for help in IRC: <a href="irc://irc.freenode.net/performous">#performous@freenode</a> (<a href="http://webchat.freenode.net/?channels=#performous">webchat</a>) |
|
From: Tapio V. <aa...@us...> - 2010-05-28 20:04:35
|
Module: performous
Branch: master
Commit: 997c3cf373fedb83264c3fdc09fe0e3f66d28870
Author: Tapio Vierros <tap...@gm...>
Date: Fri May 28 23:02:21 2010 +0300
Disable kiddy mode for guitar as it is not implemented
and breaks bass/other guitar tracks.
---
game/guitargraph.cc | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index bab212f..bc6e929 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -226,11 +226,13 @@ void GuitarGraph::engine() {
if (time < m_jointime) {
if (ev.type == input::Event::PICK || ev.type == input::Event::PRESS) {
if (!m_drums && ev.pressed[4]) nextTrack();
- if (ev.pressed[0 + m_drums]) difficulty(DIFFICULTY_SUPAEASY);
+ else if (ev.pressed[0 + m_drums]) difficulty(DIFFICULTY_SUPAEASY);
else if (ev.pressed[1 + m_drums]) difficulty(DIFFICULTY_EASY);
else if (ev.pressed[2 + m_drums]) difficulty(DIFFICULTY_MEDIUM);
else if (ev.pressed[3 + m_drums]) difficulty(DIFFICULTY_AMAZING);
- else if (ev.pressed[4 + m_drums]) difficulty(DIFFICULTY_KIDS);
+ // Kiddy mode is currently only available for drums
+ // (and this way of enabling is temporary anyway).
+ else if (ev.pressed[4] && m_drums) difficulty(DIFFICULTY_KIDS);
difficulty_changed = true;
}
// Lefty-mode switch
|
|
From: Tapio V. <aa...@us...> - 2010-05-28 20:04:33
|
Module: performous
Branch: master
Commit: 8d55d56ae84197f1969916ac431b2fa4032a3aba
Author: Tapio Vierros <tap...@gm...>
Date: Fri May 28 21:36:07 2010 +0300
Fix: Don't assume all lone tracks as guitar.
---
game/songparser-ini.cc | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc
index b6ceede..1f3b217 100644
--- a/game/songparser-ini.cc
+++ b/game/songparser-ini.cc
@@ -119,8 +119,9 @@ void SongParser::iniParseHeader() {
for (MidiFileParser::Tracks::const_iterator it = midi.tracks.begin(); it != midi.tracks.end(); ++it) {
// Figure out the track name
std::string name = it->name;
- if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
- else if (!mangleTrackName(name)) continue; // Beautify the track name
+ if (mangleTrackName(name)) ; // Beautify the track name
+ else if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
+ else continue;
// Add dummy notes to tracks so that they can be seen in song browser
if (name == "VOCALS") s.vocals.notes.push_back(Note());
else {
@@ -143,8 +144,9 @@ void SongParser::iniParse() {
for (MidiFileParser::Tracks::const_iterator it = midi.tracks.begin(); it != midi.tracks.end(); ++it) {
// Figure out the track name
std::string name = it->name;
- if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
- else if (!mangleTrackName(name)) continue; // Beautify the track name
+ if (mangleTrackName(name)) ; // Beautify the track name
+ else if (midi.tracks.size() == 1) name = TrackName::GUITAR; // Original (old) FoF songs only have one track
+ else continue;
// Process non-vocal tracks
if (name != "VOCALS") {
int durCount = 0;
|
|
From: Felix B. <fbe...@us...> - 2010-05-27 04:35:00
|
Module: performous
Branch: master
Commit: 1d59260c92007887853dc91643327c9f9745f08d
Author: Felix Bertram <fl...@be...>
Date: Wed May 26 21:33:19 2010 -0700
Kiddy mode
- removed flag from config
- increased timing window for kids
- now enabled via kick drum; will need to change in the future
---
data/schema.xml | 6 ------
game/guitargraph.cc | 20 +++++++++++++-------
game/guitargraph.hh | 1 -
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/data/schema.xml b/data/schema.xml
index ca2e8ce..1eea68e 100644
--- a/data/schema.xml
+++ b/data/schema.xml
@@ -88,12 +88,6 @@ to save the current settings to XML.
<long>Force joystick to some kind of instrument.</long>
</locale>
</entry>
- <entry name="game/kids_mode" type="bool" value="false">
- <locale name="C">
- <short>Use Kids rules for Easy dificulty</short>
- <long>Use Kids rules for Easy difficuty.</long>
- </locale>
- </entry>
<!-- Graphic preferences -->
<entry name="graphic/window_width" type="int" value="800" hidden="true">
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 7cdef5d..bab212f 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -39,6 +39,11 @@ namespace {
const float drumfill_min_rate = 6.0; // The rate of hits per second required to complete a drum fill
double points(double error) {
+ // error points
+ // 150ms 15
+ // 100ms 30
+ // 50ms 45
+ // 30ms 50
double score = 0.0;
if (error < maxTolerance) score += 15;
if (error < 0.1) score += 15;
@@ -66,7 +71,6 @@ GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number)
m_drums(drums),
m_use3d(config["graphic/3d_notes"].b()),
m_leftymode(false),
- m_kiddymode(config["game/kids_mode"].b()),
m_level(),
m_track_index(m_instrumentTracks.end()),
m_dfIt(m_drumfills.end()),
@@ -222,12 +226,11 @@ void GuitarGraph::engine() {
if (time < m_jointime) {
if (ev.type == input::Event::PICK || ev.type == input::Event::PRESS) {
if (!m_drums && ev.pressed[4]) nextTrack();
- if (ev.pressed[0 + m_drums]) {
- if (m_kiddymode) difficulty(DIFFICULTY_KIDS);
- else difficulty(DIFFICULTY_SUPAEASY); }
+ if (ev.pressed[0 + m_drums]) difficulty(DIFFICULTY_SUPAEASY);
else if (ev.pressed[1 + m_drums]) difficulty(DIFFICULTY_EASY);
else if (ev.pressed[2 + m_drums]) difficulty(DIFFICULTY_MEDIUM);
else if (ev.pressed[3 + m_drums]) difficulty(DIFFICULTY_AMAZING);
+ else if (ev.pressed[4 + m_drums]) difficulty(DIFFICULTY_KIDS);
difficulty_changed = true;
}
// Lefty-mode switch
@@ -366,7 +369,10 @@ void GuitarGraph::fail(double time, int fret) {
m_events.push_back(Event(time, 0, fret));
if (fret < 0) fret = std::rand();
m_audio.play(m_samples[unsigned(fret) % m_samples.size()], "audio/fail_volume");
- m_score -= 50;
+ // remove equivalent of 1 perfect hit for every note
+ // kids tend to play a lot of extra notes just for the fun of it.
+ // need to make sure they don't end up with a score of zero
+ m_score -= (m_level == DIFFICULTY_KIDS) ? points(0)/2.0 : points(0);
}
endStreak();
}
@@ -464,8 +470,8 @@ void GuitarGraph::drumHit(double time, int fret) {
// Record the hit event
m_events.push_back(Event(time, 1, fret, dur));
m_notes[dur] = m_events.size();
- // Scoring
- double score = points(tolerance);
+ // Scoring - be a little more generous for kids
+ double score = (m_level == DIFFICULTY_KIDS) ? points(tolerance/2.0) : points(tolerance);
m_chordIt->score += score;
m_score += score;
if (!m_drumfills.empty()) m_starmeter += score; // Only add starmeter if it's possible to activate GodMode
diff --git a/game/guitargraph.hh b/game/guitargraph.hh
index ccf9e9c..37db183 100644
--- a/game/guitargraph.hh
+++ b/game/guitargraph.hh
@@ -97,7 +97,6 @@ class GuitarGraph: public InstrumentGraph {
bool m_drums; /// are we using drums?
bool m_use3d; /// are we using 3d?
bool m_leftymode; /// switch guitar notes to right-to-left direction
- bool m_kiddymode; /// super-easy mode for kids
// Track stuff
enum Difficulty {
|
|
From: Felix B. <fbe...@us...> - 2010-05-25 04:29:38
|
Module: performous
Branch: master
Commit: 35bbdc9316808aa84750f007b0f4fbcaafaea342
Author: Felix Bertram <fl...@be...>
Date: Mon May 24 21:28:06 2010 -0700
Added kids mode
In this mode the Easy difficulty uses kids rules.
Feature enabled by setting game/kids_mode in config file.
---
data/schema.xml | 6 ++++++
game/guitargraph.cc | 16 ++++++++++++++--
game/guitargraph.hh | 2 ++
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/data/schema.xml b/data/schema.xml
index 1eea68e..ca2e8ce 100644
--- a/data/schema.xml
+++ b/data/schema.xml
@@ -88,6 +88,12 @@ to save the current settings to XML.
<long>Force joystick to some kind of instrument.</long>
</locale>
</entry>
+ <entry name="game/kids_mode" type="bool" value="false">
+ <locale name="C">
+ <short>Use Kids rules for Easy dificulty</short>
+ <long>Use Kids rules for Easy difficuty.</long>
+ </locale>
+ </entry>
<!-- Graphic preferences -->
<entry name="graphic/window_width" type="int" value="800" hidden="true">
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 54f9418..7cdef5d 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -12,6 +12,7 @@
namespace {
struct Diff { std::string name; int basepitch; } diffv[] = {
+ { "Kids", 0x3C },
{ "Easy", 0x3C },
{ "Medium", 0x48 },
{ "Hard", 0x54 },
@@ -65,6 +66,7 @@ GuitarGraph::GuitarGraph(Audio& audio, Song const& song, bool drums, int number)
m_drums(drums),
m_use3d(config["graphic/3d_notes"].b()),
m_leftymode(false),
+ m_kiddymode(config["game/kids_mode"].b()),
m_level(),
m_track_index(m_instrumentTracks.end()),
m_dfIt(m_drumfills.end()),
@@ -220,7 +222,9 @@ void GuitarGraph::engine() {
if (time < m_jointime) {
if (ev.type == input::Event::PICK || ev.type == input::Event::PRESS) {
if (!m_drums && ev.pressed[4]) nextTrack();
- if (ev.pressed[0 + m_drums]) difficulty(DIFFICULTY_SUPAEASY);
+ if (ev.pressed[0 + m_drums]) {
+ if (m_kiddymode) difficulty(DIFFICULTY_KIDS);
+ else difficulty(DIFFICULTY_SUPAEASY); }
else if (ev.pressed[1 + m_drums]) difficulty(DIFFICULTY_EASY);
else if (ev.pressed[2 + m_drums]) difficulty(DIFFICULTY_MEDIUM);
else if (ev.pressed[3 + m_drums]) difficulty(DIFFICULTY_AMAZING);
@@ -431,8 +435,16 @@ void GuitarGraph::drumHit(double time, int fret) {
double tolerance = maxTolerance;
double signed_error = maxTolerance;
Chords::iterator best = m_chords.end();
+ // when we get here m_chordIt points to the last best fit chord
for (Chords::iterator it = m_chordIt; it != m_chords.end() && it->begin <= time + tolerance; ++it) {
- if (m_notes[it->dur[fret]]) continue; // Already played
+ // it->dur[fret] == NULL for a chord that doesn't include the fret played (pad hit)
+ // m_notes[it->dur[fret]] != 0 when the fret played (pad hit) was already played
+ if (m_level == DIFFICULTY_KIDS) {
+ // in kiddy mode we don't care about the correct pad
+ // all that matters is that there is still a missing note in that chord
+ if (m_chordIt->status == m_chordIt->polyphony) continue;
+ } else if (m_notes[it->dur[fret]]) continue; // invalid fret/hit or already played
+
double error = std::abs(it->begin - time);
if (error < tolerance) {
best = it;
diff --git a/game/guitargraph.hh b/game/guitargraph.hh
index 9a534c5..ccf9e9c 100644
--- a/game/guitargraph.hh
+++ b/game/guitargraph.hh
@@ -97,9 +97,11 @@ class GuitarGraph: public InstrumentGraph {
bool m_drums; /// are we using drums?
bool m_use3d; /// are we using 3d?
bool m_leftymode; /// switch guitar notes to right-to-left direction
+ bool m_kiddymode; /// super-easy mode for kids
// Track stuff
enum Difficulty {
+ DIFFICULTY_KIDS, // Kids
DIFFICULTY_SUPAEASY, // Easy
DIFFICULTY_EASY, // Medium
DIFFICULTY_MEDIUM, // Hard
|
|
From: Tapio V. <aa...@us...> - 2010-05-24 20:20:35
|
Module: web Branch: master Commit: 85b7715d97a73b75864a8b86925560a6d5e7d3c1 Author: Tapio Vierros <tap...@gm...> Date: Mon May 24 23:19:40 2010 +0300 Improved songs page (wiki links). --- htdocs-source/songs.txt | 18 +++++++----------- 1 files changed, 7 insertions(+), 11 deletions(-) diff --git a/htdocs-source/songs.txt b/htdocs-source/songs.txt index fd464cd..fde2e64 100644 --- a/htdocs-source/songs.txt +++ b/htdocs-source/songs.txt @@ -2,15 +2,11 @@ Free songs :~preface:Do you like the songs? Remember to support the artists who give their work for free! -:h2:Frets on Fire format songs +:h2:How to add songs to the game? -We haven't had time to get any on this page yet. If you have suggestions on what to include, especially if it also contains drums and vocals, please let us know! (it needs to be freely usable) +You can find information on supported formats and song folder locations at the <a href="http://wiki.performous.org/index.php/Songs">Wiki page</a>. -There are some guitar-only songs at <a href="http://fretsonfire.sourceforge.net/">Frets on Fire</a> website. - -:h2:UltraStar format songs - -Extract the ZIP files to <strong>/usr/local/share/games/ultrastar</strong> or <strong>~/.ultrastar</strong> on UNIX systems and to the game folder on Windows. +:h2:Karaoke songs (UltraStar format) The songs here are only repackaged by the Performous project. The packages contain license files listing the authors of the materials used and in many cases also of the Ultrastar conversion. @@ -19,7 +15,7 @@ The <strong>libre</strong> package contains songs with very permissive licenses. <strong>Free Software Song</strong> by Thor <strong>On the run</strong> by Joshua Morin Download <a href="http://sourceforge.net/projects/performous/files/ultrastar-songs-libre/ultrastar-songs-libre-3.zip">ZIP</a> (5 MB) -</p><br style="clear:both"/></div><p> +</p><!-- Horrible hack here, but the clear:both -method creates a gap, because it clears for the sidebar too --><br/><br/><br/><br/><br/><br/></div><p> </p><img src="songimgs/restricted.png" alt="" style="float: left"/><div style="margin-left: 280px;"><p> The <strong>restricted</strong> package contains songs that use more restrictive licenses not permitting modifications and/or commercial use. @@ -68,9 +64,9 @@ Download <a href="http://sourceforge.net/projects/performous/files/ultrastar-son Download <a href="http://sourceforge.net/projects/performous/files/ultrastar-songs-shearer/ultrastar-songs-shearer-1.zip">ZIP</a> (50 MB) </p><br style="clear:both"/></div><p> -:h2:More songs? -Performous comes with a tool named <b>ss_extract</b> that can be used for extracting your SingStar DVDs. +:h2:More songs? -Additionally, you may search Google for good songs in <a href="http://www.google.com/search?q=ultrastar+djpo">UltraStar</a> or <a href="http://www.google.com/search?q=frets+on+fire+filetype:torrent">FoF</a> formats. +We haven't had time to get any band (FoFiX-format) or dancing (StepMania) songs on this page yet. If you have suggestions on what to include, especially if it also contains drums and vocals, please let us know! (it needs to be freely usable). +<a href="http://wiki.performous.org/index.php/Songs#Finding_songs">Some ideas for finding songs elsewhere can be found at the wiki</a>. |
|
From: Tapio V. <aa...@us...> - 2010-05-24 20:20:33
|
Module: web Branch: master Commit: 3a41604bba2cf26e6738f539e42feb2a85b569b2 Author: Tapio Vierros <tap...@gm...> Date: Mon May 24 23:18:40 2010 +0300 Add my deploy profile for sf.net backup website. --- deploy.sh | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/deploy.sh b/deploy.sh index 4cad6e0..a948868 100644 --- a/deploy.sh +++ b/deploy.sh @@ -21,6 +21,11 @@ case $1 in GITPATH=~/git/performous/web SITEPATH=yoda-jm,per...@we...:htdocs/ ;; + aave000) + # deploying on performous.sf.net (backup) + GITPATH=~/src/performous-web + SITEPATH=aave000,per...@we...:htdocs/ + ;; *) echo "-!- \"$1\" is not a valid profile" exit |
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-24 03:15:14
|
Module: performous
Branch: master
Commit: 3566fec4c29042cebb6112ee283d4c7cfcaf037e
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon May 24 06:15:01 2010 +0300
Comment the code better.
---
game/guitargraph.cc | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 059ac59..54f9418 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -440,23 +440,28 @@ void GuitarGraph::drumHit(double time, int fret) {
signed_error = it->begin - time;
}
}
- if (best == m_chords.end()) fail(time, fret);
+ if (best == m_chords.end()) fail(time, fret); // None found
else {
+ // Skip all chords earlier than the best fit chord
for (; best != m_chordIt; ++m_chordIt) {
if (m_chordIt->status == m_chordIt->polyphony) continue;
endStreak();
}
- ++m_chordIt->status;
+ ++m_chordIt->status; // One more drum belonging to the chord hit
Duration const* dur = m_chordIt->dur[fret];
+ // Record the hit event
m_events.push_back(Event(time, 1, fret, dur));
m_notes[dur] = m_events.size();
+ // Scoring
double score = points(tolerance);
m_chordIt->score += score;
m_score += score;
if (!m_drumfills.empty()) m_starmeter += score; // Only add starmeter if it's possible to activate GodMode
+ // Graphical effects
m_flames[fret].push_back(AnimValue(0.0, flameSpd));
m_flames[fret].back().setTarget(1.0);
if (fret == 0) m_drumJump.setTarget(1.0); // Do a jump for bass drum
+ // All drums of the chord hit already?
if (m_chordIt->status == m_chordIt->polyphony) {
//m_score -= m_chordIt->score;
//m_chordIt->score *= m_chordIt->polyphony;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-22 18:06:06
|
Module: performous
Branch: master
Commit: cabb4759685fdf63a5f1652925af740eaa910be5
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 21:05:25 2010 +0300
Another struct vs. class problem.
---
game/webcam.hh | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/webcam.hh b/game/webcam.hh
index ae7cd09..1091c91 100644
--- a/game/webcam.hh
+++ b/game/webcam.hh
@@ -7,7 +7,7 @@
#include "surface.hh"
-class CvCapture;
+struct CvCapture;
struct CamFrame {
int width;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-22 17:46:01
|
Module: performous
Branch: master
Commit: 8165e44251009ddff766a304272c3cb24bbcd54b
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 20:45:17 2010 +0300
Add a missing const that for some reason had gone undetected by other compilers (detected by clang++).
---
tools/ss_extract.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/ss_extract.cpp b/tools/ss_extract.cpp
index eda8362..c7979d9 100644
--- a/tools/ss_extract.cpp
+++ b/tools/ss_extract.cpp
@@ -643,7 +643,7 @@ struct FindSongs {
s.title = elem.get_attribute("TITLE")->get_value();
s.artist = elem.get_attribute("PERFORMANCE_NAME")->get_value();
if (!m_search.empty() && m_search != elem.get_attribute("ID")->get_value() && (s.artist + " - " + s.title).find(m_search) == std::string::npos) continue;
- xmlpp::Node* node = dynamic_cast<const xmlpp::Node*>((*it));
+ xmlpp::Node const* node = dynamic_cast<xmlpp::Node const*>(*it);
get_node(node, s.genre, s.year); // get the values for genre and year
xmlpp::NodeSet fr = elem.find(ns + "VIDEO/@FRAME_RATE", nsmap);
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-22 17:17:24
|
Module: performous
Branch: master
Commit: be4c165aeeb2740b0f1cccada27b5a24db5c3750
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat May 22 20:16:33 2010 +0300
Fix clang++ compile error (ambiguous overload of boost::thread) and warnings (struct vs. class). Compilation still broken due to OpenCV bugs (in the library, not Performous) and I didn't manage to link the C++ standard library correctly yet.
---
game/configuration.hh | 2 +-
game/engine.hh | 2 +-
game/theme.hh | 19 ++++++++++++-------
game/video_driver.hh | 2 +-
4 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/game/configuration.hh b/game/configuration.hh
index 533e667..4539154 100644
--- a/game/configuration.hh
+++ b/game/configuration.hh
@@ -5,7 +5,7 @@
#include <string>
#include <vector>
-namespace xmlpp { struct Element; } // Forward declaration for libxml++ stuff
+namespace xmlpp { class Element; } // Forward declaration for libxml++ stuff
/// configuration option
class ConfigItem {
diff --git a/game/engine.hh b/game/engine.hh
index f1c7882..a164931 100644
--- a/game/engine.hh
+++ b/game/engine.hh
@@ -54,7 +54,7 @@ class Engine {
size_t player = 0;
for (std::list<Player>::iterator it = m_database.cur.begin(); it != m_database.cur.end(); ++it, ++player) it->m_color = playerColors[player % playerColorsSize];
}
- m_thread.reset(new boost::thread(boost::ref(*this)));
+ m_thread.reset(new boost::thread(&Engine::operator(), this));
}
~Engine() { kill(); }
/// Terminates processing
diff --git a/game/theme.hh b/game/theme.hh
index 7594cf0..12b8640 100755
--- a/game/theme.hh
+++ b/game/theme.hh
@@ -7,16 +7,17 @@
/// abstract theme class
class Theme: boost::noncopyable {
- protected:
+protected:
Theme();
Theme(const std::string path); ///< creates theme from path
- public:
+public:
/// background image for theme
Surface bg;
};
/// theme for song selection
-struct ThemeSongs: Theme {
+class ThemeSongs: public Theme {
+public:
ThemeSongs();
/// song display
SvgTxtTheme song;
@@ -29,7 +30,8 @@ struct ThemeSongs: Theme {
};
/// theme for practice screen
-struct ThemePractice: Theme {
+class ThemePractice: public Theme {
+public:
ThemePractice();
/// note
Surface note;
@@ -40,7 +42,8 @@ struct ThemePractice: Theme {
};
/// theme for singing screen
-struct ThemeSing: Theme {
+class ThemeSing: public Theme {
+public:
ThemeSing();
/// top background
Surface bg_top;
@@ -55,7 +58,8 @@ struct ThemeSing: Theme {
};
/// theme for options screen
-struct ThemeConfiguration: Theme {
+class ThemeConfiguration: public Theme {
+public:
ThemeConfiguration();
/// configuration item
SvgTxtTheme item;
@@ -72,7 +76,8 @@ struct ThemeConfiguration: Theme {
};
/// theme for intro screen
-struct ThemeIntro: Theme {
+class ThemeIntro: public Theme {
+public:
ThemeIntro();
/// back highlight for selected option
Surface back_h;
diff --git a/game/video_driver.hh b/game/video_driver.hh
index 4ac703e..c865815 100644
--- a/game/video_driver.hh
+++ b/game/video_driver.hh
@@ -4,7 +4,7 @@ unsigned int screenW();
unsigned int screenH();
static inline float virtH() { return float(screenH()) / screenW(); }
-class SDL_Surface;
+struct SDL_Surface;
/// handles the window
class Window {
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2010-05-22 17:17:22
|
Module: performous Branch: master Commit: fd341f0340f2cfcf2b8708ee7f9d278abf886f94 Author: Lasse Karkkainen <tro...@tr...> Date: Sat May 22 20:14:04 2010 +0300 Update TODO with bugs that I don't have time to investigate right now. --- docs/TODO.txt | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/docs/TODO.txt b/docs/TODO.txt index e4cfc21..b6caa40 100644 --- a/docs/TODO.txt +++ b/docs/TODO.txt @@ -65,3 +65,6 @@ Bugs: - sample are not always played when a user fail (for example drums). it could be nice that playing a sample reset the privious fail sample (test case : drums rolling) +- "Electric - Melocy Club" background and cover load incorrectly (strange PNG pixel format?) +- filter update on song loading + |
|
From: Tapio V. <aa...@us...> - 2010-05-22 17:04:43
|
Module: performous
Branch: master
Commit: e108090f38deabfecc1ba9deef67d55f1ac43585
Author: Tapio Vierros <tap...@gm...>
Date: Sat May 22 20:04:07 2010 +0300
Move OpenCV includes to webcam.cc
---
game/webcam.cc | 5 +++++
game/webcam.hh | 9 ++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/game/webcam.cc b/game/webcam.cc
index c4487c5..0dd11e1 100644
--- a/game/webcam.cc
+++ b/game/webcam.cc
@@ -3,6 +3,11 @@
#include "webcam.hh"
#include "xtime.hh"
+#ifdef USE_OPENCV
+#include <cv.h>
+#include <highgui.h>
+#endif
+
Webcam::Webcam(int cam_id):
m_thread(), m_capture(NULL), m_frameAvailable(false), m_running(false), m_quit(false)
{
diff --git a/game/webcam.hh b/game/webcam.hh
index 5754f3d..ae7cd09 100644
--- a/game/webcam.hh
+++ b/game/webcam.hh
@@ -1,12 +1,5 @@
#pragma once
-#ifdef USE_OPENCV
-#include <cv.h>
-#include <highgui.h>
-#else
-typedef void CvCapture;
-#endif
-
#include <boost/scoped_ptr.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/thread.hpp>
@@ -14,6 +7,8 @@ typedef void CvCapture;
#include "surface.hh"
+class CvCapture;
+
struct CamFrame {
int width;
int height;
|
|
From: Felix B. <fbe...@us...> - 2010-05-22 05:01:45
|
Module: performous
Branch: master
Commit: 46ab1e1857b32282793a6dce1459f2acaa70133f
Author: Felix Bertram <fl...@be...>
Date: Fri May 21 22:00:46 2010 -0700
display song section next to progress bar
---
game/screen_sing.cc | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index c10dcc0..6f62d8b 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -361,7 +361,13 @@ void ScreenSing::draw() {
{
unsigned t = clamp(time, 0.0, length);
m_progress->draw(songPercent);
- std::string statustxt = (boost::format("%02u:%02u") % (t / 60) % (t % 60)).str();
+
+ Song::SongSection section("error", 0);
+ std::string statustxt;
+ if (m_song->getPrevSection(t - 1.0, section)) {
+ statustxt = (boost::format("%02u:%02u - %s") % (t / 60) % (t % 60) % section.name).str();
+ } else statustxt = (boost::format("%02u:%02u") % (t / 60) % (t % 60)).str();
+
if (!m_score_window.get() && m_only_singers_alive && !m_song->vocals.notes.empty()) {
if (status == Song::INSTRUMENTAL_BREAK) statustxt += _(" ENTER to skip instrumental break");
if (status == Song::FINISHED && !config["game/karaoke_mode"].b()) statustxt += _(" Remember to wait for grading!");
|
|
From: Felix B. <fbe...@us...> - 2010-05-22 05:01:43
|
Module: performous
Branch: master
Commit: dc2cb48f05fe2e17c10389b3edf20ace69c43c32
Author: Felix Bertram <fl...@be...>
Date: Fri May 21 20:13:49 2010 -0700
Cleanup for song sections
---
game/midifile.cc | 2 +-
game/midifile.hh | 8 +++---
game/screen_sing.cc | 56 +++++++++++++++--------------------------------
game/song.cc | 24 ++++++++++++++++++++
game/song.hh | 2 +
game/songparser-ini.cc | 15 +++++++-----
6 files changed, 58 insertions(+), 49 deletions(-)
diff --git a/game/midifile.cc b/game/midifile.cc
index ca3a236..064ead9 100644
--- a/game/midifile.cc
+++ b/game/midifile.cc
@@ -189,7 +189,7 @@ MidiFileParser::Track MidiFileParser::read_track(MidiStream& stream) {
#if MIDI_DEBUG_LEVEL > 2
std::cout << "Section: " << sect_name << " at " << get_seconds(miditime) << std::endl;
#endif
- songsections.push_back(SongSection(sect_name, get_seconds(miditime)));
+ midisections.push_back(MidiSection(sect_name, get_seconds(miditime)));
} else cmdevents.push_back(std::string(data)); // see songparser-ini.cc: we need to keep the BRE in cmdevents
}
else cmdevents.push_back(std::string(data));
diff --git a/game/midifile.hh b/game/midifile.hh
index 6db8258..463181c 100644
--- a/game/midifile.hh
+++ b/game/midifile.hh
@@ -76,13 +76,13 @@ class MidiFileParser{
};
typedef std::vector<Track> Tracks;
Tracks tracks;
- struct SongSection {
+ struct MidiSection {
std::string name;
double begin;
- SongSection(std::string const& name, const double begin): name(name), begin(begin) {}
+ MidiSection(std::string const& name, const double begin): name(name), begin(begin) {}
};
- typedef std::vector<SongSection> SongSections;
- SongSections songsections; ///< vector of song sections
+ typedef std::vector<MidiSection> MidiSections;
+ MidiSections midisections; ///< vector of song sections
uint16_t parse_header(MidiStream&);
Track read_track(MidiStream&);
void cout_midi_event(uint8_t type, uint8_t arg1, uint8_t arg2, uint32_t miditime);
diff --git a/game/screen_sing.cc b/game/screen_sing.cc
index 51e4bfa..c10dcc0 100644
--- a/game/screen_sing.cc
+++ b/game/screen_sing.cc
@@ -264,46 +264,26 @@ void ScreenSing::manageEvent(SDL_Event event) {
if (key == SDLK_F6) dispInFlash(++config["audio/controller_delay"]);
bool seekback = false;
- if (m_song->songsections.empty()) {
- // standard seeking in 5s increments
- if (m_song->danceTracks.empty()) { // Seeking backwards is currently not permitted for dance songs
- if (key == SDLK_HOME) { m_audio.seekPos(0.0); seekback = true; }
- if (key == SDLK_LEFT) { m_audio.seek(-5.0); seekback = true;}
- }
- if (key == SDLK_RIGHT) m_audio.seek(5.0);
- } else {
- // seeking to the next song section
- if (m_song->danceTracks.empty()) { // Seeking backwards is currently not permitted for dance songs
- if (key == SDLK_HOME) { m_audio.seekPos(0.0); seekback = true; }
- if (key == SDLK_LEFT) {
- double pos = m_audio.getPosition();
- for (std::vector<Song::SongSection>::reverse_iterator it= m_song->songsections.rbegin(); it != m_song->songsections.rend(); it++) {
- double begin = it->begin;
- if (begin < pos - 1.0) { // make sure we can jump across a marker!
- m_audio.seekPos(begin);
- // TODO: display popup with section name
- const std::string name = it->name;
- std::cout << "seek left from " << pos << " to " << name << " at " << begin << std::endl;
- break;
- }
- }
- seekback = true;
- }
- }
- if (key == SDLK_RIGHT) {
- double pos = m_audio.getPosition();
- for (std::vector<Song::SongSection>::iterator it= m_song->songsections.begin(); it != m_song->songsections.end(); it++) {
- double begin = it->begin;
- if (begin > pos) {
- m_audio.seekPos(begin);
- // TODO: display popup with section name
- const std::string name = it->name;
- std::cout << "seek right from " << pos << " to " << name << " at " << begin << std::endl;
- break;
- }
- }
+ if (m_song->danceTracks.empty()) { // Seeking backwards is currently not permitted for dance songs
+ if (key == SDLK_HOME) { m_audio.seekPos(0.0); seekback = true; }
+ if (key == SDLK_LEFT) {
+ Song::SongSection section("error", 0);
+ if (m_song->getPrevSection(m_audio.getPosition(), section)) {
+ m_audio.seekPos(section.begin);
+ // TODO: display popup with section.name here
+ std::cout << section.name << std::endl;
+ } else m_audio.seek(-5.0);
+ seekback = true;
}
}
+ if (key == SDLK_RIGHT) {
+ Song::SongSection section("error", 0);
+ if (m_song->getNextSection(m_audio.getPosition(), section)) {
+ m_audio.seekPos(section.begin);
+ // TODO: display popup with section.name here
+ std::cout << section.name << std::endl;
+ } else m_audio.seek(5.0);
+ }
// Some things must be reset after seeking backwards
if (seekback) m_layout_singer->reset();
diff --git a/game/song.cc b/game/song.cc
index c6274e6..e8c13c8 100644
--- a/game/song.cc
+++ b/game/song.cc
@@ -79,3 +79,27 @@ Song::Status Song::status(double time) const {
return NORMAL;
}
+bool Song::getNextSection(double pos, SongSection §ion) {
+ if (songsections.empty()) return false;
+ for (std::vector<Song::SongSection>::iterator it= songsections.begin(); it != songsections.end(); it++) {
+ if (it->begin > pos) {
+ section = *it;
+ return true;
+ }
+ }
+ // returning false here will jump forward 5s (see screen_sing.cc)
+ return false;
+}
+
+bool Song::getPrevSection(double pos, SongSection §ion) {
+ if (songsections.empty()) return false;
+ for (std::vector<Song::SongSection>::reverse_iterator it= songsections.rbegin(); it != songsections.rend(); it++) {
+ // subtract 1 second so we can jump across a section
+ if (it->begin < pos - 1.0) {
+ section = *it;
+ return true;
+ }
+ }
+ // returning false here will jump backwards by 5s (see screen_sing.cc)
+ return false;
+}
diff --git a/game/song.hh b/game/song.hh
index fba45f0..37aed1b 100644
--- a/game/song.hh
+++ b/game/song.hh
@@ -99,6 +99,8 @@ class Song: boost::noncopyable {
};
typedef std::vector<SongSection> SongSections;
SongSections songsections; ///< vector of song sections
+ bool getNextSection(double pos, SongSection §ion);
+ bool getPrevSection(double pos, SongSection §ion);
};
static inline bool operator<(Song const& l, Song const& r) { return l.collateByArtist < r.collateByArtist; }
diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc
index c110d50..b6ceede 100644
--- a/game/songparser-ini.cc
+++ b/game/songparser-ini.cc
@@ -130,12 +130,6 @@ void SongParser::iniParseHeader() {
}
}
}
- // populate song sections
- for (std::vector<MidiFileParser::SongSection>::iterator it= midi.songsections.begin(); it != midi.songsections.end(); it++) {
- Song::SongSection tmp(it->name, it->begin);
- s.songsections.push_back(tmp);
- //std::cout << "Section " << tmp.name << " at " << tmp.begin << std::endl;
- }
}
/// Parse notes
@@ -270,6 +264,15 @@ void SongParser::iniParse() {
s.vocals.noteMin = s.vocals.noteMax = n.note = 60;
s.vocals.notes.push_back(n);
}*/
+ // copy midi sections to song section
+ // design goals: (1) keep midi parser free of dependencies on song (2) store data in song as parsers are discarded before song
+ // one option would be to pass a song reference to the midi parser however, that conflicts with goal (1)
+ for (std::vector<MidiFileParser::MidiSection>::iterator it= midi.midisections.begin(); it != midi.midisections.end(); it++) {
+ Song::SongSection tmp(it->name, it->begin);
+ s.songsections.push_back(tmp);
+ //std::cout << "Section " << tmp.name << " at " << tmp.begin << std::endl;
+ }
+
}
|
|
From: Peque <ms...@us...> - 2010-05-20 15:23:31
|
Module: performous Branch: master Commit: eca9c401fa7b6140692e7291c2765d84d8f7f7e0 Author: Miguel Sánchez de León Peque <msd...@gm...> Date: Thu May 20 17:22:41 2010 +0200 Spanish translation updated. --- lang/es.po | 80 ++++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 54 insertions(+), 26 deletions(-) diff --git a/lang/es.po b/lang/es.po index 53e4eb0..8af7365 100644 --- a/lang/es.po +++ b/lang/es.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: Performous\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-05 11:43+0100\n" +"POT-Creation-Date: 2010-05-20 16:47+0100\n" "PO-Revision-Date: \n" -"Last-Translator: \n" +"Last-Translator: Miguel Sánchez de León Peque <msd...@gm...>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -15,6 +15,34 @@ msgstr "" "X-Poedit-Country: SPAIN\n" "X-Poedit-SearchPath-0: ../game\n" +#: ../game/guitargraph.cc:305 +msgid "Streak!" +msgstr "Aciertos!" + +#: ../game/guitargraph.cc:322 +msgid "" +"God Mode\n" +"Activated!" +msgstr "" +"¡Modo Dios\n" +"Activado!" + +#: ../game/guitargraph.cc:323 +msgid "Mistakes ignored!" +msgstr "¡Se ignoran los fallos!" + +#: ../game/guitargraph.cc:953 +msgid "Drum Fill!" +msgstr "¡Enajenación!" + +#: ../game/guitargraph.cc:954 +msgid "God Mode Ready!" +msgstr "¡Modo Dios Disponible!" + +#: ../game/guitargraph.cc:959 +msgid "Solo!" +msgstr "¡Solo!" + #: ../game/screen_intro.cc:15 msgid "Perform" msgstr "Jugar" @@ -137,84 +165,84 @@ msgstr "¡Canción defectuosa!" msgid "Song contains broken tracks!" msgstr "¡La canción contiene pistas defectuosas!" -#: ../game/screen_sing.cc:330 +#: ../game/screen_sing.cc:386 msgid " ENTER to skip instrumental break" msgstr " ENTER para pasar la parte instrumental" -#: ../game/screen_sing.cc:331 +#: ../game/screen_sing.cc:387 msgid " Remember to wait for grading!" msgstr " Recuerda esperar para ser evaluado!" -#: ../game/screen_sing.cc:419 +#: ../game/screen_sing.cc:475 msgid "No player!" msgstr "¡No se han encontrado jugadores!" -#: ../game/screen_sing.cc:428 +#: ../game/screen_sing.cc:484 msgid "Hit singer" msgstr "Superestrella" -#: ../game/screen_sing.cc:429 +#: ../game/screen_sing.cc:485 msgid "Lead singer" msgstr "Vocalista" -#: ../game/screen_sing.cc:430 -#: ../game/screen_sing.cc:436 -#: ../game/screen_sing.cc:442 +#: ../game/screen_sing.cc:486 +#: ../game/screen_sing.cc:492 +#: ../game/screen_sing.cc:498 msgid "Rising star" msgstr "Aficionado" -#: ../game/screen_sing.cc:431 -#: ../game/screen_sing.cc:437 -#: ../game/screen_sing.cc:443 +#: ../game/screen_sing.cc:487 +#: ../game/screen_sing.cc:493 +#: ../game/screen_sing.cc:499 msgid "Amateur" msgstr "Novato" -#: ../game/screen_sing.cc:432 -#: ../game/screen_sing.cc:444 +#: ../game/screen_sing.cc:488 +#: ../game/screen_sing.cc:500 msgid "Tone deaf" msgstr "Sin oÃdo" -#: ../game/screen_sing.cc:434 +#: ../game/screen_sing.cc:490 msgid "Maniac" msgstr "ManÃaco" -#: ../game/screen_sing.cc:435 +#: ../game/screen_sing.cc:491 msgid "Hoofer" msgstr "Artista" -#: ../game/screen_sing.cc:438 +#: ../game/screen_sing.cc:494 msgid "Loser" msgstr "Perdedor" -#: ../game/screen_sing.cc:440 +#: ../game/screen_sing.cc:496 msgid "Virtuoso" msgstr "Virtuoso" -#: ../game/screen_sing.cc:441 +#: ../game/screen_sing.cc:497 msgid "Rocker" msgstr "Rockero" -#: ../game/main.cc:164 +#: ../game/main.cc:159 msgid "Audio capture..." msgstr "Captura de audio..." -#: ../game/main.cc:166 +#: ../game/main.cc:161 msgid "Audio playback..." msgstr "Reproducción de audio..." -#: ../game/main.cc:169 +#: ../game/main.cc:164 msgid "Miscellaneous..." msgstr "Varios..." -#: ../game/main.cc:183 +#: ../game/main.cc:178 msgid "Main menu..." msgstr "Menú principal..." -#: ../game/main.cc:194 +#: ../game/main.cc:189 msgid "Screenshot taken!" msgstr "¡Captura de pantalla exitosa!" -#: ../game/main.cc:197 +#: ../game/main.cc:192 msgid "Screenshot failed!" msgstr "¡Captura de pantalla fallida!" |
|
From: Tapio V. <aa...@us...> - 2010-05-20 13:27:51
|
Module: performous
Branch: master
Commit: 1e38a29a1cbe2f2b03b1da70c5ffe17a3ca948c9
Author: Tapio Vierros <tap...@gm...>
Date: Thu May 20 16:27:06 2010 +0300
Localize popup texts (and some others) + update FI translation.
---
game/dancegraph.cc | 2 +-
game/guitargraph.cc | 12 +++---
game/instrumentgraph.hh | 1 +
lang/fi.po | 95 ++++++++++++++++++++++++++++++----------------
4 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/game/dancegraph.cc b/game/dancegraph.cc
index 94c5efb..10b76bf 100644
--- a/game/dancegraph.cc
+++ b/game/dancegraph.cc
@@ -237,7 +237,7 @@ void DanceGraph::engine() {
// Check if a long streak goal has been reached
if (m_streak >= getNextBigStreak(m_bigStreak)) {
m_bigStreak = getNextBigStreak(m_bigStreak);
- m_popups.push_back(Popup(boost::lexical_cast<std::string>(unsigned(m_bigStreak)) + "\nStreak!",
+ m_popups.push_back(Popup(boost::lexical_cast<std::string>(unsigned(m_bigStreak)) + "\n" + _("Streak!"),
glutil::Color(1.0f, 0.0, 0.0), 1.0, m_popupText.get()));
}
}
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 8653379..059ac59 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -302,7 +302,7 @@ void GuitarGraph::engine() {
if (m_streak >= getNextBigStreak(m_bigStreak)) {
m_bigStreak = getNextBigStreak(m_bigStreak);
m_starmeter += streakStarBonus;
- m_popups.push_back(Popup(boost::lexical_cast<std::string>(unsigned(m_bigStreak)) + "\nStreak!",
+ m_popups.push_back(Popup(boost::lexical_cast<std::string>(unsigned(m_bigStreak)) + "\n" + _("Streak!"),
glutil::Color(1.0f, 0.0f, 0.0f), 1.0, m_popupText.get()));
}
// During GodMode, correctness is full, no matter what
@@ -319,8 +319,8 @@ void GuitarGraph::activateStarpower() {
if (canActivateStarpower()) {
m_starmeter = 0;
m_starpower.setValue(1.0);
- m_popups.push_back(Popup("God Mode\nActivated!",
- glutil::Color(0.3f, 0.0f, 1.0f), 0.666, m_popupText.get(), "Mistakes ignored!", &m_text));
+ m_popups.push_back(Popup(_("God Mode\nActivated!"),
+ glutil::Color(0.3f, 0.0f, 1.0f), 0.666, m_popupText.get(), _("Mistakes ignored!"), &m_text));
}
}
@@ -950,13 +950,13 @@ void GuitarGraph::drawInfo(double time, double offsetX, Dimensions dimensions) {
float a = std::abs(std::fmod(time, 1.0) - 0.5f) * 2.0f;
m_text.dimensions.screenBottom(-0.02).middle(-0.12 + offsetX);
if (m_drums && m_dfIt != m_drumfills.end() && time >= m_dfIt->begin && time <= m_dfIt->end)
- m_text.draw(" Drum Fill! ", a);
- else m_text.draw("God Mode Ready!", a);
+ m_text.draw(_("Drum Fill!"), a);
+ else m_text.draw(_("God Mode Ready!"), a);
} else if (m_solo) {
// Solo
float a = std::abs(std::fmod(time, 1.0) - 0.5f) * 2.0f;
m_text.dimensions.screenBottom(-0.02).middle(-0.03 + offsetX);
- m_text.draw("Solo!", a);
+ m_text.draw(_("Solo!"), a);
}
drawPopups(offsetX);
}
diff --git a/game/instrumentgraph.hh b/game/instrumentgraph.hh
index 87064c6..f1cbf86 100644
--- a/game/instrumentgraph.hh
+++ b/game/instrumentgraph.hh
@@ -11,6 +11,7 @@
#include "3dobject.hh"
#include "glutil.hh"
#include "fs.hh"
+#include "i18n.hh"
/// Represents popup messages
diff --git a/lang/fi.po b/lang/fi.po
index 0ca815c..2fd9807 100644
--- a/lang/fi.po
+++ b/lang/fi.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Performous\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-15 12:07+0200\n"
+"POT-Creation-Date: 2010-05-20 16:24+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Tapio Vierros <tap...@gm...>\n"
"Language-Team: \n"
@@ -73,60 +73,60 @@ msgstr "Kappale on rikki!"
msgid "Song contains broken tracks!"
msgstr "Kappaleessa on rikkinäisiä osia!"
-#: ../game/screen_sing.cc:330
+#: ../game/screen_sing.cc:386
msgid " ENTER to skip instrumental break"
msgstr " ENTER hypätäksesi lauluosaan"
-#: ../game/screen_sing.cc:331
+#: ../game/screen_sing.cc:387
msgid " Remember to wait for grading!"
msgstr " Muista odottaa arvostelua!"
-#: ../game/screen_sing.cc:419
+#: ../game/screen_sing.cc:475
msgid "No player!"
msgstr "Pelaajia ei löytynyt!"
-#: ../game/screen_sing.cc:428
+#: ../game/screen_sing.cc:484
msgid "Hit singer"
msgstr "Tähti"
-#: ../game/screen_sing.cc:429
+#: ../game/screen_sing.cc:485
msgid "Lead singer"
msgstr "Solisti"
-#: ../game/screen_sing.cc:430
-#: ../game/screen_sing.cc:436
-#: ../game/screen_sing.cc:442
+#: ../game/screen_sing.cc:486
+#: ../game/screen_sing.cc:492
+#: ../game/screen_sing.cc:498
msgid "Rising star"
msgstr "Harrastaja"
-#: ../game/screen_sing.cc:431
-#: ../game/screen_sing.cc:437
-#: ../game/screen_sing.cc:443
+#: ../game/screen_sing.cc:487
+#: ../game/screen_sing.cc:493
+#: ../game/screen_sing.cc:499
msgid "Amateur"
msgstr "Amatööri"
-#: ../game/screen_sing.cc:432
-#: ../game/screen_sing.cc:444
+#: ../game/screen_sing.cc:488
+#: ../game/screen_sing.cc:500
msgid "Tone deaf"
msgstr "Lahjaton"
-#: ../game/screen_sing.cc:434
+#: ../game/screen_sing.cc:490
msgid "Maniac"
msgstr "Maanikko"
-#: ../game/screen_sing.cc:435
+#: ../game/screen_sing.cc:491
msgid "Hoofer"
msgstr "Ekspertti"
-#: ../game/screen_sing.cc:438
+#: ../game/screen_sing.cc:494
msgid "Loser"
msgstr "Luuseri"
-#: ../game/screen_sing.cc:440
+#: ../game/screen_sing.cc:496
msgid "Virtuoso"
msgstr "Virtuoosi"
-#: ../game/screen_sing.cc:441
+#: ../game/screen_sing.cc:497
msgid "Rocker"
msgstr "Rokkari"
@@ -158,11 +158,11 @@ msgstr "järjestetty polun mukaan"
msgid "sorted by language"
msgstr "järjestetty kielen mukaan"
-#: ../game/screen_songs.cc:187
+#: ../game/screen_songs.cc:195
msgid "No songs found!"
msgstr "Kappaleita ei löytynyt!"
-#: ../game/screen_songs.cc:188
+#: ../game/screen_songs.cc:196
msgid ""
"Visit performous.org\n"
"for free songs"
@@ -170,18 +170,22 @@ msgstr ""
"Hae ilmaista musiikkia\n"
"osoitteesta performous.org"
-#: ../game/screen_songs.cc:190
+#: ../game/screen_songs.cc:198
msgid "no songs match search"
msgstr "yksikään kappale ei vastannut hakuasi"
-#: ../game/screen_songs.cc:198
+#: ../game/screen_songs.cc:206
msgid "(press END to view hiscores)"
msgstr "(paina END nähdäksesi ennätykset)"
-#: ../game/screen_songs.cc:199
+#: ../game/screen_songs.cc:207
msgid "<type in to search>"
msgstr "<kirjoita etsiäksesi>"
+#: ../game/screen_songs.cc:212
+msgid "Hiscore for "
+msgstr "Ennätykset kappaleelle "
+
#: ../game/screen_players.cc:110
msgid "No players found!"
msgstr "Pelaajia ei löytynyt!"
@@ -214,33 +218,58 @@ msgstr "Kirjoita etsiäksesi tai luodaksesi uuden pelaajan."
msgid "Search Text:"
msgstr "Etsi:"
-#: ../game/main.cc:154
+#: ../game/main.cc:159
msgid "Audio capture..."
msgstr "Ãänen kaappaus..."
-#: ../game/main.cc:156
+#: ../game/main.cc:161
msgid "Audio playback..."
msgstr "Ãänentoisto..."
-#: ../game/main.cc:159
+#: ../game/main.cc:164
msgid "Miscellaneous..."
msgstr "Sekalaista..."
-#: ../game/main.cc:174
+#: ../game/main.cc:178
msgid "Main menu..."
msgstr "Päävalikko..."
-#: ../game/main.cc:185
+#: ../game/main.cc:189
msgid "Screenshot taken!"
msgstr "Kuvakaappaus tallennettu!"
-#: ../game/main.cc:188
+#: ../game/main.cc:192
msgid "Screenshot failed!"
msgstr "Kuvakaappaus epäonnistui!"
-#: ../game/screen_hiscore.cc:88
-msgid "Hiscore for "
-msgstr "Ennätykset kappaleelle "
+#: ../game/guitargraph.cc:305
+#: ../game/dancegraph.cc:240
+msgid "Streak!"
+msgstr "Sarja!"
+
+#: ../game/guitargraph.cc:322
+msgid ""
+"God Mode\n"
+"Activated!"
+msgstr ""
+"Jumalmoodi\n"
+"Aktivoitu!"
+
+#: ../game/guitargraph.cc:323
+msgid "Mistakes ignored!"
+msgstr "Virheitä ei huomioida!"
+
+#: ../game/guitargraph.cc:953
+msgid "Drum Fill!"
+msgstr "Rumpufilli!"
+
+#: ../game/guitargraph.cc:954
+msgid "God Mode Ready!"
+msgstr "Jumalmoodi valmis!"
+
+#: ../game/guitargraph.cc:959
+msgid "Solo!"
+msgstr "Soolo!"
#: ../game/database.cc:107
msgid "No Items up to now."
|