karaoke prototype (disabled)

This commit is contained in:
Chris Danford
2008-03-12 23:17:39 +00:00
parent ecbe89179e
commit 5e87c2e81a
82 changed files with 13322 additions and 31 deletions
+41
View File
@@ -706,6 +706,22 @@ void NoteDataUtil::CalculateRadarValues( const NoteData &in, float fSongSeconds,
case RadarCategory_Mines: out[rc] = (float) in.GetNumMines(); break;
case RadarCategory_Hands: out[rc] = (float) in.GetNumHands(); break;
case RadarCategory_Rolls: out[rc] = (float) in.GetNumRolls(); break;
case RadarCategory_MinMidiNote:
break; // fill in below
case RadarCategory_MaxMidiNote:
uint8_t uMinMidiNoteOut;
uint8_t uMaxMidiNoteOut;
if( GetMinAndMaxMidiNote( in, uMinMidiNoteOut, uMaxMidiNoteOut ) )
{
out[RadarCategory_MinMidiNote] = (float) uMinMidiNoteOut;
out[RadarCategory_MaxMidiNote] = (float) uMaxMidiNoteOut;
}
else
{
out[RadarCategory_MinMidiNote] = (float) -1;
out[RadarCategory_MaxMidiNote] = (float) -1;
}
break;
default: ASSERT(0);
}
}
@@ -783,6 +799,31 @@ float NoteDataUtil::GetChaosRadarValue( const NoteData &in, float fSongSeconds )
return min( fReturn, 1.0f );
}
bool NoteDataUtil::GetMinAndMaxMidiNote( const NoteData &in, uint8_t &uMinMidiNoteOut, uint8_t &uMaxMidiNoteOut )
{
int iMin = INT_MAX;
int iMax = INT_MIN;
NoteData::all_tracks_const_iterator iter = in.GetTapNoteRangeAllTracks( 0, MAX_NOTE_ROW );
for( ; !iter.IsAtEnd(); ++iter )
{
const TapNote &tn = *iter;
if( tn.iMidiNote != MIDI_NOTE_INVALID )
{
iMin = min( iMin, (int)tn.iMidiNote );
iMax = max( iMax, (int)tn.iMidiNote );
}
}
if( iMin != INT_MAX && iMax != INT_MIN )
{
uMinMidiNoteOut = iMin;
uMaxMidiNoteOut = iMax;
return true;
}
return false;
}
void NoteDataUtil::RemoveHoldNotes( NoteData &in, int iStartIndex, int iEndIndex )
{
// turn all the HoldNotes into TapNotes