diff --git a/src/input/input.cpp b/src/input/input.cpp index 05b0af11..031f3f3e 100644 --- a/src/input/input.cpp +++ b/src/input/input.cpp @@ -464,6 +464,20 @@ namespace Mist { } } + void Input::trackSelect(std::string trackSpec){ + selectedTracks.clear(); + size_t index; + while (trackSpec != "") { + index = trackSpec.find(' '); + selectedTracks.insert(atoi(trackSpec.substr(0, index).c_str())); + if (index != std::string::npos) { + trackSpec.erase(0, index + 1); + } else { + trackSpec = ""; + } + } + } + void Input::parseHeader(){ DEBUG_MSG(DLVL_DONTEVEN,"Parsing the header"); selectedTracks.clear(); diff --git a/src/input/input.h b/src/input/input.h index b0a9ccaa..3bc837e2 100644 --- a/src/input/input.h +++ b/src/input/input.h @@ -45,7 +45,7 @@ namespace Mist { void quitPlay(); void checkHeaderTimes(std::string streamFile); virtual void removeUnused(); - virtual void trackSelect(std::string trackSpec){}; + virtual void trackSelect(std::string trackSpec); virtual void userCallback(char * data, size_t len, unsigned int id); virtual void convert(); virtual void serve();