本文整理汇总了C++中Xml::unknown方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::unknown方法的具体用法?C++ Xml::unknown怎么用?C++ Xml::unknown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::unknown方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
void PosLen::read(Xml& xml, const char* name)
{
sn = -1;
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
xml.unknown(name);
break;
case Xml::Attribut:
if (tag == "tick")
{
setType(TICKS);
setTick(xml.s2().toInt());
}
else if (tag == "sample")
{
setType(FRAMES);
setFrame(xml.s2().toInt());
}
else if (tag == "len")
{
int n = xml.s2().toInt();
switch (type())
{
case TICKS:
setLenTick(n);
break;
case FRAMES:
setLenFrame(n);
break;
}
}
else
xml.unknown(name);
break;
case Xml::TagEnd:
if (tag == name)
return;
default:
break;
}
}
}
示例2: readDrummaps
void MidiInstrument::readDrummaps(Xml& xml)
{
patch_drummap_mapping.clear();
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "entry")
patch_drummap_mapping.push_back(readDrummapsEntry(xml));
else
xml.unknown("MidiInstrument::readDrummaps");
break;
case Xml::TagEnd:
if (tag == "Drummaps")
return;
default:
break;
}
}
printf("ERROR: THIS CANNOT HAPPEN: exited infinite loop in MidiInstrument::readDrummaps()!\n"
" not returning anything. expect undefined behaviour or even crashes.\n");
}
示例3: readEventList
static void readEventList(Xml& xml, EventList* el, const char* name)
{
for (;;) {
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token) {
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "event") {
Event e(Note);
e.read(xml);
el->add(e);
}
else
xml.unknown("readEventList");
break;
case Xml::TagEnd:
if (tag == name)
return;
default:
break;
}
}
}
示例4: readStatus
void AbstractMidiEditor::readStatus(Xml& xml)/*{{{*/
{
if (_pl == 0)
_pl = new PartList;
for (;;)
{
Xml::Token token = xml.parse();
QString tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "quant")
_quant = xml.parseInt();
else if (tag == "raster")
_raster = xml.parseInt();
else if (tag == "topwin")
TopWin::readStatus(xml);
else
xml.unknown("AbstractMidiEditor");
break;
case Xml::TagEnd:
if (tag == "midieditor")
return;
default:
break;
}
}
}/*}}}*/
示例5: read
int TEvent::read(Xml& xml)
{
int at = 0;
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return 0;
case Xml::TagStart:
if (tag == "tick")
tick = xml.parseInt();
else if (tag == "val")
tempo = xml.parseInt();
else
xml.unknown("TEvent");
break;
case Xml::Attribut:
if (tag == "at")
at = xml.s2().toInt();
break;
case Xml::TagEnd:
if (tag == "tempo")
{
return at;
}
default:
break;
}
}
return 0;
}
示例6: if
static QPair<int, QString> readMidiPortPreset(Xml& xml)/*{{{*/
{
int id = 0;
QString sysex;
for (;;)
{
Xml::Token token = xml.parse();
QString tag = xml.s1();
switch (token)
{
case Xml::TagStart:
xml.unknown("midiPreset");
break;
case Xml::Attribut:
if (tag == "id")
id = xml.s2().toInt();
else if (tag == "sysex")
{
sysex = xml.s2();
}
break;
case Xml::TagEnd:
return qMakePair(id, sysex);
default:
break;
}
}
}/*}}}*/
示例7: read
void PatchGroup::read(Xml& xml)
{
for (;;) {
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token) {
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "Patch") {
Patch* patch = new Patch;
patch->read(xml);
patches.push_back(patch);
}
else
xml.unknown("PatchGroup");
break;
case Xml::Attribut:
if (tag == "name")
name = xml.s2();
break;
case Xml::TagEnd:
if (tag == "PatchGroup")
return;
default:
break;
}
}
}
示例8: read
void WaveTrack::read(Xml& xml)
{
for (;;) {
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token) {
case Xml::Error:
case Xml::End:
goto out_of_WaveTrackRead_forloop;
case Xml::TagStart:
if (tag == "part") {
Part* p = 0;
p = Part::readFromXml(xml, this);
if(p)
parts()->add(p);
}
else if (AudioTrack::readProperties(xml, tag))
xml.unknown("WaveTrack");
break;
case Xml::Attribut:
break;
case Xml::TagEnd:
if (tag == "wavetrack") {
mapRackPluginsToControllers();
goto out_of_WaveTrackRead_forloop;
}
default:
break;
}
}
out_of_WaveTrackRead_forloop:
chainTrackParts(this);
}
示例9: readConfiguration
void MasterEdit::readConfiguration(Xml& xml)
{
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "raster")
_rasterInit = xml.parseInt();
else
xml.unknown("MasterEdit");
break;
case Xml::TagEnd:
if (tag == "masteredit")
return;
default:
break;
}
}
}
示例10: read
int SigEvent::read(Xml& xml)
{
int at = 0;
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return 0;
case Xml::TagStart:
if (tag == "tick")
tick = xml.parseInt();
else if (tag == "nom")
z = xml.parseInt();
else if (tag == "denom")
n = xml.parseInt();
else
xml.unknown("SigEvent");
break;
case Xml::Attribut:
if (tag == "at")
at = xml.s2().toInt();
break;
case Xml::TagEnd:
if (tag == "sig")
return at;
default:
break;
}
}
return 0;
}
示例11: read
void EventList::read(Xml& xml, const char* name, bool midi)
{
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "event")
{
Event e(midi ? Note : Wave);
e.read(xml);
add(e);
}
else
xml.unknown("readEventList");
break;
case Xml::TagEnd:
if (tag == name)
return;
default:
break;
}
}
}
示例12: read
void MidiEventBase::read(Xml& xml)
{
setType(Note);
a = 0;
b = 0;
c = 0;
int dataLen = 0;
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
xml.unknown("Event");
break;
case Xml::Text:
{
QByteArray ba = tag.toLatin1();
const char*s = ba.constData();
edata.data = new unsigned char[dataLen];
edata.dataLen = dataLen;
unsigned char* d = edata.data;
for (int i = 0; i < dataLen; ++i)
{
char* endp;
*d++ = strtol(s, &endp, 16);
s = endp;
}
}
break;
case Xml::Attribut:
if (tag == "tick")
setTick(xml.s2().toInt());
else if (tag == "type")
setType(EventType(xml.s2().toInt()));
else if (tag == "len")
setLenTick(xml.s2().toInt());
else if (tag == "a")
a = xml.s2().toInt();
else if (tag == "b")
b = xml.s2().toInt();
else if (tag == "c")
c = xml.s2().toInt();
else if (tag == "datalen")
dataLen = xml.s2().toInt();
break;
case Xml::TagEnd:
if (tag == "event")
return;
default:
break;
}
}
}
示例13: readStatus
void MasterEdit::readStatus(Xml& xml)
{
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "midieditor")
AbstractMidiEditor::readStatus(xml);
else if (tag == "ypos")
vscroll->setPos(xml.parseInt());
else if (tag == "ymag")
{
// vscroll->setMag(xml.parseInt());
int mag = xml.parseInt();
vscroll->setMag(mag);
}
else
xml.unknown("MasterEdit");
break;
case Xml::TagEnd:
if (tag == "master")
{
// raster setzen
int item = 0;
switch (_raster)
{
case 1: item = 0;
break;
case 0: item = 1;
break;
case 768: item = 2;
break;
case 384: item = 3;
break;
case 192: item = 4;
break;
case 96: item = 5;
break;
}
_rasterInit = _raster;
rasterLabel->setCurrentIndex(item);
return;
}
default:
break;
}
}
}
示例14: readMidiState
void MidiInstrument::readMidiState(Xml& xml)
{
// A kludge to support old midistates by wrapping them in the proper header.
_tmpMidiStateVersion = 1; // Assume old (unmarked) first version 1.
for (;;)
{
Xml::Token token = xml.parse();
const QString tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
return;
case Xml::TagStart:
if (tag == "event")
{
Event e(Note);
e.read(xml);
_midiState->add(e);
}
else
xml.unknown("midistate");
break;
case Xml::Attribut:
if(tag == "version")
_tmpMidiStateVersion = xml.s2().toInt();
else
xml.unknown("MidiInstrument");
break;
case Xml::TagEnd:
if(tag == "midistate")
return;
default:
break;
}
}
}
示例15: read
void WaveEventBase::read(Xml& xml)
{
for (;;)
{
Xml::Token token = xml.parse();
const QString& tag = xml.s1();
switch (token)
{
case Xml::Error:
case Xml::End:
case Xml::Attribut:
return;
case Xml::TagStart:
if (tag == "poslen")
PosLen::read(xml, "poslen");
else if (tag == "frame")
_spos = xml.parseInt();
else if(tag == "leftclip")
m_leftclip = xml.parseInt();
else if(tag == "rightclip")
m_rightclip = xml.parseInt();
else if (tag == "file")
{
SndFile* wf = getWave(xml.parse1(), true);
if (wf)
{
f = SndFileR(wf);
}
}
else
xml.unknown("Event");
break;
case Xml::TagEnd:
if (tag == "event")
{
Pos::setType(FRAMES); // DEBUG
return;
}
default:
break;
}
}
}