static int GetMarkupList(const MythUtilCommandLineParser &cmdline, const QString type) { ProgramInfo pginfo; if (!GetProgramInfo(cmdline, pginfo)) return GENERIC_EXIT_NO_RECORDING_DATA; frm_dir_map_t cutlist; frm_dir_map_t::const_iterator it; QString result; if (type == "cutlist") pginfo.QueryCutList(cutlist); else pginfo.QueryCommBreakList(cutlist); uint64_t lastStart = 0; for (it = cutlist.begin(); it != cutlist.end(); ++it) { if ((*it == MARK_COMM_START) || (*it == MARK_CUT_START)) { if (!result.isEmpty()) result += ","; lastStart = it.key(); result += QString("%1-").arg(lastStart); } else { if (result.isEmpty()) result += "0-"; result += QString("%1").arg(it.key()); } } if (result.endsWith('-')) { uint64_t lastFrame = pginfo.QueryLastFrameInPosMap() + 60; if (lastFrame > lastStart) result += QString("%1").arg(lastFrame); } if (type == "cutlist") cout << QString("Cutlist: %1\n").arg(result).toLocal8Bit().constData(); else { cout << QString("Commercial Skip List: %1\n") .arg(result).toLocal8Bit().constData(); } return GENERIC_EXIT_OK; }