alternative approach for 48532baaa, C++98 compat that actually works, too

This commit is contained in:
Robin Gareus 2016-04-14 12:46:23 +02:00
parent eda1508da1
commit 5af4ce47eb
2 changed files with 10 additions and 11 deletions

View File

@ -637,11 +637,10 @@ PTFFormat::parserest5(void) {
}
void
PTFFormat::resort(std::vector<wav_t> *ws) {
PTFFormat::resort(std::vector<wav_t>& ws) {
int j = 0;
std::sort((*ws).begin(), (*ws).end());
for (std::vector<wav_t>::iterator i = (*ws).begin();
i != (*ws).end(); ++i) {
std::sort(ws.begin(), ws.end());
for (std::vector<wav_t>::iterator i = ws.begin(); i != ws.end(); ++i) {
(*i).index = j;
j++;
}
@ -733,8 +732,8 @@ PTFFormat::parseaudio5(void) {
numberofwavs--;
i += 7;
}
resort(&actualwavs);
resort(&audiofiles);
resort(actualwavs);
resort(audiofiles);
}
void

View File

@ -32,24 +32,24 @@ public:
*/
int load(std::string path, int64_t targetsr);
typedef struct wav {
struct wav_t {
std::string filename;
uint16_t index;
int64_t posabsolute;
int64_t length;
bool operator <(const struct wav& other) {
bool operator <(const struct wav_t& other) const {
return (strcasecmp(this->filename.c_str(),
other.filename.c_str()) < 0);
}
bool operator ==(const struct wav& other) {
bool operator ==(const struct wav_t& other) const {
return (this->filename == other.filename ||
this->index == other.index);
}
} wav_t;
};
typedef struct region {
std::string name;
@ -130,7 +130,7 @@ private:
void parserest10(void);
void parseaudio5(void);
void parseaudio(void);
void resort(std::vector<wav_t> *ws);
void resort(std::vector<wav_t>& ws);
uint8_t mostfrequent(uint32_t start, uint32_t stop);
std::vector<wav_t> actualwavs;
float ratefactor;