QByteArray MSG::makeCmd(){ QByteArray res; QString msg; QString log; QByteArray data; switch(m_type){ case MSG_TXT: // MSG [email protected] xxxxxx 126\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\nX-MMS-IM-Format: FN=Helvetica; EF=; CO=000000; CS=0; PF=22\r\n\r\nhola msg = "MIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\nX-MMS-IM-Format: FN=" + m_font + "; EF=" + m_bold + m_italic + m_underline + "; CO=" + m_color + "; CS=0; PF=22\r\n\r\n" + m_msg; res.append(beginCmd() + " A " + QString::number(msg.size()) + "\r\n" + msg + endCmd()); return res; break; case MSG_IDENTIFICATION: //MSG 536 U 96\r\nMIME-Version: 1.0\r\nContent-Type: text/x-clientcaps\r\n\r\nClient-Name: aMSN 0.98b\r\nChat-Logging: Y\r\n if (m_clientIsLogging) log = "Y"; else log = "N"; msg = "MIME-Version: 1.0\r\nContent-Type: text/x-clientcaps\r\n\r\nClient-Name: " + m_clientName + " " + m_clientVersion + "\r\nChat-Logging: " + log + "\r\n"; res.append(beginCmd() + " U " + QString::number(msg.size()) + "\r\n" + msg + endCmd()); return res; break; case MSG_ISTYPING: msg = "MIME-Version: 1.0\r\nContent-Type: text/x-msmsgscontrol\r\nTypingUser: "******"\r\n\r\n"; res.append(beginCmd() + " U " + QString::number(msg.size()) + "\r\n" + msg + endCmd()); return res; break; default: break; } }
void Score::cmdJoinMeasure(Measure* m1, Measure* m2) { startCmd(); deselectAll(); ScoreRange range; range.read(m1->first(), m2->last()); int tick1 = m1->tick(); int tick2 = m2->endTick(); for (auto i : _spanner.findContained(tick1, tick2)) undo(new RemoveElement(i.value)); undoRemoveMeasures(m1, m2); Measure* m = new Measure(this); m->setEndBarLineType(m2->endBarLineType(), m2->endBarLineGenerated(), m2->endBarLineVisible(), m2->endBarLineColor()); m->setTick(m1->tick()); m->setTimesig(m1->timesig()); Fraction f; for (Measure* mm = m1; mm; mm = mm->nextMeasure()) { f += mm->len(); if (mm == m2) break; } m->setLen(f); m->setNext(m2->next()); m->setPrev(m2->next() ? m2->next()->prev() : last()); undo(new InsertMeasures(m, m)); range.write(this, m1->tick()); endCmd(); }
void Score::cmdSplitMeasure(ChordRest* cr) { Segment* segment = cr->segment(); Measure* measure = segment->measure(); ScoreRange range; range.read(measure->first(), measure->last()); startCmd(); deleteItem(measure); // create empty measures: Measure* m2 = static_cast<Measure*>(insertMeasure(Element::Type::MEASURE, measure->next(), true)); Measure* m1 = static_cast<Measure*>(insertMeasure(Element::Type::MEASURE, m2, true)); int tick = segment->tick(); m1->setTick(measure->tick()); m2->setTick(tick); int ticks1 = segment->tick() - measure->tick(); int ticks2 = measure->ticks() - ticks1; m1->setTimesig(measure->timesig()); m2->setTimesig(measure->timesig()); m1->adjustToLen(Fraction::fromTicks(ticks1)); m2->adjustToLen(Fraction::fromTicks(ticks2)); range.write(this, m1->tick()); endCmd(); }
QByteArray ANS::makeCmd(){ //ANS trid your_passport ticket sessid\r\n QByteArray res; res += beginCmd(); res += " " + m_passport + " " + m_ticket + " " + m_sessId; res += endCmd(); return res; }
void Score::write(Xml& xml, bool selectionOnly) { // if we have multi measure rests and some parts are hidden, // then some layout information is missing: // relayout with all parts set visible QList<Part*> hiddenParts; bool unhide = false; if (styleB(StyleIdx::createMultiMeasureRests)) { for (Part* part : _parts) { if (!part->show()) { if (!unhide) { startCmd(); unhide = true; } part->undoChangeProperty(P_ID::VISIBLE, true); hiddenParts.append(part); } } } if (unhide) { doLayout(); for (Part* p : hiddenParts) p->setShow(false); } xml.stag("Score"); switch(_layoutMode) { case LayoutMode::PAGE: case LayoutMode::FLOAT: case LayoutMode::SYSTEM: break; case LayoutMode::LINE: xml.tag("layoutMode", "line"); break; } #ifdef OMR if (_omr && xml.writeOmr) _omr->write(xml); #endif if (_showOmr && xml.writeOmr) xml.tag("showOmr", _showOmr); if (_audio && xml.writeOmr) { xml.tag("playMode", int(_playMode)); _audio->write(xml); } for (int i = 0; i < 32; ++i) { if (!_layerTags[i].isEmpty()) { xml.tag(QString("LayerTag id=\"%1\" tag=\"%2\"").arg(i).arg(_layerTags[i]), _layerTagComments[i]); } } int n = _layer.size(); for (int i = 1; i < n; ++i) { // dont save default variant const Layer& l = _layer[i]; xml.tagE(QString("Layer name=\"%1\" mask=\"%2\"").arg(l.name).arg(l.tags)); } xml.tag("currentLayer", _currentLayer); if (!MScore::testMode) _synthesizerState.write(xml); if (pageNumberOffset()) xml.tag("page-offset", pageNumberOffset()); xml.tag("Division", MScore::division); xml.curTrack = -1; _style.save(xml, true); // save only differences to buildin style xml.tag("showInvisible", _showInvisible); xml.tag("showUnprintable", _showUnprintable); xml.tag("showFrames", _showFrames); xml.tag("showMargins", _showPageborders); QMapIterator<QString, QString> i(_metaTags); while (i.hasNext()) { i.next(); if ((!MScore::testMode && !MScore::saveTemplateMode) || (i.key() != "platform" && i.key() != "creationDate")) xml.tag(QString("metaTag name=\"%1\"").arg(i.key().toHtmlEscaped()), i.value()); } if (!selectionOnly) { xml.stag("PageList"); foreach(Page* page, _pages) page->write(xml); xml.etag(); } xml.curTrack = 0; int staffStart; int staffEnd; MeasureBase* measureStart; MeasureBase* measureEnd; if (selectionOnly) { staffStart = _selection.staffStart(); staffEnd = _selection.staffEnd(); // make sure we select full parts Staff* sStaff = staff(staffStart); Part* sPart = sStaff->part(); Staff* eStaff = staff(staffEnd - 1); Part* ePart = eStaff->part(); staffStart = staffIdx(sPart); staffEnd = staffIdx(ePart) + ePart->nstaves(); measureStart = _selection.startSegment()->measure(); if (_selection.endSegment()) measureEnd = _selection.endSegment()->measure()->next(); else measureEnd = 0; } else { staffStart = 0; staffEnd = nstaves(); measureStart = first(); measureEnd = 0; } foreach(const Part* part, _parts) { if (!selectionOnly || ((staffIdx(part) >= staffStart) && (staffEnd >= staffIdx(part) + part->nstaves()))) part->write(xml); } xml.curTrack = 0; xml.trackDiff = -staffStart * VOICES; if (measureStart) { for (int staffIdx = staffStart; staffIdx < staffEnd; ++staffIdx) { xml.stag(QString("Staff id=\"%1\"").arg(staffIdx + 1 - staffStart)); xml.curTick = measureStart->tick(); xml.tickDiff = xml.curTick; xml.curTrack = staffIdx * VOICES; bool writeSystemElements = staffIdx == staffStart; for (MeasureBase* m = measureStart; m != measureEnd; m = m->next()) writeMeasure(xml, m, staffIdx, writeSystemElements); xml.etag(); } } xml.curTrack = -1; if (!selectionOnly) { for (const Excerpt* excerpt : _excerpts) { if (excerpt->partScore() != this) excerpt->partScore()->write(xml, false); // recursion } } if (parentScore()) xml.tag("name", name()); xml.etag(); if (unhide) { endCmd(); undo()->undo(); endUndoRedo(); } }
void Score::cmdSplitMeasure(ChordRest* cr) { startCmd(); splitMeasure(cr->segment()); endCmd(); }
QByteArray USRchat::makeCmd(){ //USR 1 [email protected] 17262740.1050826919.32308\r\n QByteArray res; res.append(beginCmd() + " " + m_passport + " " + m_ticket + endCmd()); return res; }
QByteArray BYE::makeCmd(){ //BYE [email protected]\r\n QByteArray res; res.append(beginCmd() + " " + m_passport + endCmd()); return res; }
QByteArray CAL::makeCmd(){ //CAL 1 [email protected]\r\n QByteArray res; res.append(beginCmd() + " " + m_passport + endCmd()); return res; }