本文整理汇总了C++中Xml::s1方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::s1方法的具体用法?C++ Xml::s1怎么用?C++ Xml::s1使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::s1方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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;
}
}
}/*}}}*/
示例2: 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);
}
示例3: readGlobalInputList
void readGlobalInputList(Xml& xml)/*{{{*/
{
gInputList.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 == "globalInput")
{
readGlobalInput(xml);
}
break;
case Xml::Attribut:
break;
case Xml::TagEnd:
if(tag == "globalInputList")
{//Just return
return;
}
default:
break;
}
}
}/*}}}*/
示例4: readColor
QColor readColor(Xml& xml)
{
int val, r = 0, g = 0, b = 0;
for (;;)
{
Xml::Token token = xml.parse();
if (token != Xml::Attribut)
break;
QString tag = xml.s1();
switch (token)
{
case Xml::Attribut:
val = xml.s2().toInt();
if (tag == "r")
r = val;
else if (tag == "g")
g = val;
else if (tag == "b")
b = val;
break;
default:
break;
}
}
return QColor(r, g, b);
}
示例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: 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;
}
示例7: readShortCuts
void readShortCuts(Xml& xml)
{
for (;;)
{
Xml::Token token = xml.parse();
if (token == Xml::Error || token == Xml::End)
break;
const QString& tag = xml.s1();
switch (token)
{
case Xml::TagStart:
{
if (tag.length())
{
int index = getShrtByTag(tag.toUtf8().constData());
if (index != -1)
{
//printf("Index: %d\n",index);
shortcuts[index].key = xml.parseInt();
//printf("shortcuts[%d].key = %d, %s\n",index, shortcuts[index].key, shortcuts[index].descr);
}
else
xml.skip(tag);
}
}
case Xml::TagEnd:
if (tag == "shortcuts")
return;
default:
break;
}
}
}
示例8: 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;
}
}
}
示例9: readShortCuts
void readShortCuts(Xml& xml)
{
for (;;)
{
Xml::Token token = xml.parse();
if (token == Xml::Error || token == Xml::End)
break;
const QString& tag = xml.s1();
switch (token)
{
case Xml::TagStart:
{
if (tag.length())
{
int index = getShrtByTag(tag.toAscii().constData());
if (index == -1) //No such tag found
printf("Config file might be corrupted. Unknown shortcut: %s\n", tag.toLatin1().constData());
else
{
//printf("Index: %d\n",index);
shortcuts[index].key = xml.parseInt();
//printf("shortcuts[%d].key = %d, %s\n",index, shortcuts[index].key, shortcuts[index].descr);
}
}
}
case Xml::TagEnd:
if (tag == "shortcuts")
return;
default:
break;
}
}
}
示例10: 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;
}
}
}
示例11: 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;
}
}
}
示例12: 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;
}
}
}
示例13: 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");
}
示例14: readPortChannel
static void readPortChannel(Xml& xml, int midiPort)
{
int idx = 0; //torbenh
for (;;)
{
Xml::Token token = xml.parse();
if (token == Xml::Error || token == Xml::End)
break;
QString tag = xml.s1();
switch (token)
{
case Xml::TagStart:
if (tag == "controller")
{
readController(xml, midiPort, idx);
}
else
xml.skip(tag);
break;
case Xml::Attribut:
if (tag == "idx")
idx = xml.s2().toInt();
break;
case Xml::TagEnd:
if (tag == "channel")
return;
default:
break;
}
}
}
示例15: 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;
}
}
}/*}}}*/