Revision 22:6afcb5edd7ab AgentList.cpp
| AgentList.cpp | ||
|---|---|---|
| 23 | 23 |
{
|
| 24 | 24 |
sort(); |
| 25 | 25 |
for (iterator itr = begin(); itr != end(); ++itr) {
|
| 26 |
#ifdef DEBUG_BEATROOT |
|
| 27 |
std::cerr << "removeDuplicates: considering agent " << (*itr)->idNumber << std::endl; |
|
| 28 |
#endif |
|
| 26 | 29 |
if ((*itr)->phaseScore < 0.0) // already flagged for deletion |
| 27 | 30 |
continue; |
| 28 | 31 |
iterator itr2 = itr; |
| ... | ... | |
| 32 | 35 |
if (fabs((*itr)->beatTime - (*itr2)->beatTime) > DEFAULT_BT) |
| 33 | 36 |
continue; |
| 34 | 37 |
if ((*itr)->phaseScore < (*itr2)->phaseScore) {
|
| 38 |
#ifdef DEBUG_BEATROOT |
|
| 39 |
std::cerr << "agent " << (*itr)->idNumber << " is similar to but lower-scoring than agent " << (*itr2)->idNumber << ", marking for deletion" << std::endl; |
|
| 40 |
#endif |
|
| 35 | 41 |
(*itr)->phaseScore = -1.0; // flag for deletion |
| 36 | 42 |
if ((*itr2)->topScoreTime < (*itr)->topScoreTime) |
| 37 | 43 |
(*itr2)->topScoreTime = (*itr)->topScoreTime; |
| 38 | 44 |
break; |
| 39 | 45 |
} else {
|
| 46 |
#ifdef DEBUG_BEATROOT |
|
| 47 |
std::cerr << "agent " << (*itr2)->idNumber << " is similar to but lower-scoring than agent " << (*itr)->idNumber << ", marking for deletion" << std::endl; |
|
| 48 |
#endif |
|
| 40 | 49 |
(*itr2)->phaseScore = -1.0; // flag for deletion |
| 41 | 50 |
if ((*itr)->topScoreTime < (*itr2)->topScoreTime) |
| 42 | 51 |
(*itr)->topScoreTime = (*itr2)->topScoreTime; |
| ... | ... | |
| 115 | 124 |
Agent *bestAg = 0; |
| 116 | 125 |
for (iterator itr = begin(); itr != end(); ++itr) {
|
| 117 | 126 |
if ((*itr)->events.empty()) continue; |
| 118 |
double startTime = (*itr)->events.begin()->time; |
|
| 119 | 127 |
double conf = ((*itr)->phaseScore + (*itr)->tempoScore) / |
| 120 | 128 |
(useAverageSalience? (double)(*itr)->beatCount: 1.0); |
| 121 | 129 |
if (conf > best) {
|
Also available in: Unified diff