当前位置: 首页>>代码示例>>C++>>正文


C++ Xml::skip方法代码示例

本文整理汇总了C++中Xml::skip方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::skip方法的具体用法?C++ Xml::skip怎么用?C++ Xml::skip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Xml的用法示例。


在下文中一共展示了Xml::skip方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: 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;
        }
    }
}
开发者ID:Adamiko,项目名称:los,代码行数:31,代码来源:conf.cpp

示例2: 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;
        }
    }
}
开发者ID:peter1000,项目名称:los,代码行数:34,代码来源:shortcuts.cpp

示例3: readSeqConfiguration

static void readSeqConfiguration(Xml& xml)
{
    //bool updatePorts = false;
    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 == "midiport")
                {
                    //updatePorts = true;
                    readConfigMidiPort(xml);
                }
                else if (tag == "rcStop")
                    rcStopNote = xml.parseInt();
                else if (tag == "rcEnable")
                    rcEnable = xml.parseInt();
                else if (tag == "rcRecord")
                    rcRecordNote = xml.parseInt();
                else if (tag == "rcGotoLeft")
                    rcGotoLeftMarkNote = xml.parseInt();
                else if (tag == "rcPlay")
                    rcPlayNote = xml.parseInt();
                else
                    xml.skip(tag);
                break;
            case Xml::TagEnd:
                if (tag == "sequencer")
                {
                    //All Midiports have been read so put all the unconfigured ports in the id list
                    //if(updatePorts)
                    //{
                        for(int i = 0; i < MIDI_PORTS; ++i)
                        {
                            MidiPort *mp = &midiPorts[i];
                            if(!losMidiPorts.contains(mp->id()))
                                losMidiPorts.insert(mp->id(), mp);
                        }
                    //}
                    return;
                }
            default:
                break;
        }
    }
}
开发者ID:Adamiko,项目名称:los,代码行数:50,代码来源:conf.cpp

示例4: readController

static void readController(Xml& xml, int midiPort, int channel)
{
    int id = 0;
    int val = CTRL_VAL_UNKNOWN;

    for (;;)
    {
        Xml::Token token = xml.parse();
        QString tag = xml.s1();
        switch (token)
        {
            case Xml::TagStart:
                if (tag == "val")
                    val = xml.parseInt();
                else
                    xml.skip(tag);
                break;
            case Xml::Attribut:
                if (tag == "id")
                    id = xml.s2().toInt();
                break;
            case Xml::TagEnd:
                if (tag == "controller")
                {
                    MidiPort* port = &midiPorts[midiPort];
                    //port->addManagedController(channel, id);
                    val = port->limitValToInstrCtlRange(id, val);
                    // The value here will actually be sent to the device LATER, in MidiPort::setMidiDevice()
                    port->setHwCtrlState(channel, id, val);
                    return;
                }
            default:
                return;
        }
    }
}
开发者ID:Adamiko,项目名称:los,代码行数:36,代码来源:conf.cpp

示例5: readConfiguration

void readConfiguration(Xml& xml, bool readOnlySequencer)/*{{{*/
{
    for (;;)
    {
        Xml::Token token = xml.parse();
        if (token == Xml::Error || token == Xml::End)
            break;
        QString tag = xml.s1();
        switch (token)
        {
            case Xml::TagStart:
                /* the reading of configuration is split in two; read
                   "sequencer" and read ALL. The reason is that it is
                   possible to load a song without configuration. In
                   this case the <configuration> chapter in the song
                   file should be skipped. However the sub part
                   <sequencer> contains elements that are necessary
                   to preserve composition consistency. Mainly
                   midiport configuration and VOLUME.
                 */
                if (tag == "sequencer")
                {
                    readSeqConfiguration(xml);
                    break;
                }
                else if (readOnlySequencer)
                {
                    xml.skip(tag);
                    break;
                }

                if (tag == "theme")
                    config.style = xml.parse1();
                else if (tag == "styleSheetFile")
                    config.styleSheetFile = xml.parse1();
                else if (tag == "useOldStyleStopShortCut")
                    config.useOldStyleStopShortCut = xml.parseInt();
                else if (tag == "moveArmedCheckBox")
                    config.moveArmedCheckBox = xml.parseInt();
                else if (tag == "externalWavEditor")
                    config.externalWavEditor = xml.parse1();
                else if (tag == "font0")
                    config.fonts[0].fromString(xml.parse1());
                else if (tag == "font1")
                    config.fonts[1].fromString(xml.parse1());
                else if (tag == "font2")
                    config.fonts[2].fromString(xml.parse1());
                else if (tag == "font3")
                    config.fonts[3].fromString(xml.parse1());
                else if (tag == "font4")
                    config.fonts[4].fromString(xml.parse1());
                else if (tag == "font5")
                    config.fonts[5].fromString(xml.parse1());
                else if (tag == "font6")
                    config.fonts[6].fromString(xml.parse1());
                else if (tag == "globalAlphaBlend")
                    config.globalAlphaBlend = xml.parseInt();
                else if (tag == "palette0")
                    config.palette[0] = readColor(xml);
                else if (tag == "palette1")
                    config.palette[1] = readColor(xml);
                else if (tag == "palette2")
                    config.palette[2] = readColor(xml);
                else if (tag == "palette3")
                    config.palette[3] = readColor(xml);
                else if (tag == "palette4")
                    config.palette[4] = readColor(xml);
                else if (tag == "palette5")
                    config.palette[5] = readColor(xml);
                else if (tag == "palette6")
                    config.palette[6] = readColor(xml);
                else if (tag == "palette7")
                    config.palette[7] = readColor(xml);
                else if (tag == "palette8")
                    config.palette[8] = readColor(xml);
                else if (tag == "palette9")
                    config.palette[9] = readColor(xml);
                else if (tag == "palette10")
                    config.palette[10] = readColor(xml);
                else if (tag == "palette11")
                    config.palette[11] = readColor(xml);
                else if (tag == "palette12")
                    config.palette[12] = readColor(xml);
                else if (tag == "palette13")
                    config.palette[13] = readColor(xml);
                else if (tag == "palette14")
                    config.palette[14] = readColor(xml);
                else if (tag == "palette15")
                    config.palette[15] = readColor(xml);
                else if (tag == "palette16")
                    config.palette[16] = readColor(xml);
                else if (tag == "ctrlGraphFg")
                    config.ctrlGraphFg = readColor(xml);
                else if (tag == "extendedMidi")
                    config.extendedMidi = xml.parseInt();
                else if (tag == "midiExportDivision")
                    config.midiDivision = xml.parseInt();
                else if (tag == "smfFormat")
                    config.smfFormat = xml.parseInt();
                else if (tag == "exp2ByteTimeSigs")
//.........这里部分代码省略.........
开发者ID:Adamiko,项目名称:los,代码行数:101,代码来源:conf.cpp

示例6: readConfigMidiPort

static void readConfigMidiPort(Xml& xml)/*{{{*/
{
    int idx = 0;
    qint64 id = -1;
    QString device;
    bool isGlobal = false;

    QString instrument("GM");

    QList<PatchSequence*> patchSequences;
    QList<QPair<int, QString> > presets;

    int openFlags = 1;
    int dic = 0;
    int doc = 0;
    int type = MidiDevice::ALSA_MIDI;
    bool cachenrpn = false;

    MidiDevice* dev = 0;

    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 == "name")
                {
                    device = xml.parse1();
                    if (!dev)//Look for it as an alsa or already created device
                        dev = midiDevices.find(device);
                }
                else if (tag == "type")
                {
                    type = xml.parseInt();
                }
                else if (tag == "record")
                {   // old
                    bool f = xml.parseInt();
                    if (f)
                        openFlags |= 2;
                }
                else if (tag == "openFlags")
                    openFlags = xml.parseInt();
                else if (tag == "defaultInChans")
                    dic = xml.parseInt();
                else if (tag == "defaultOutChans")
                    doc = xml.parseInt();
                else if (tag == "instrument")
                {
                    instrument = xml.parse1();
                }
                else if (tag == "channel")
                {
                    readPortChannel(xml, idx);
                }
                else if (tag == "preset" || tag == "patchSequence")
                {
                    PatchSequence* p = readMidiPortPatchSequences(xml);
                    if (p)
                        patchSequences.append(p);
                }
                else if(tag == "midiPreset")
                {
                    presets.append(readMidiPortPreset(xml));
                }
                else if(tag == "cacheNRPN")
                {
                    cachenrpn = xml.parseInt();
                }
                else
                    xml.skip(tag);
                break;
            case Xml::Attribut:
                if (tag == "idx")
                {//Check to see if this port is already used, and bump if so
                    idx = xml.s2().toInt();
                    int freePort = getFreeMidiPort();
                    if(freePort != idx)
                    {//Set a flag here so we know when loading tracks later that we are dealing with an old file or global inputs changed
                        idx = freePort;
                    }
                }
                else if(tag == "portId")
                {//New style
                    id = xml.s2().toLongLong();
                    idx = getFreeMidiPort();
                }
                else if(tag == "isGlobalInput")
                {//Find the matching input if posible and set our index to it
                    isGlobal = xml.s2().toInt();
                }
                break;
            case Xml::TagEnd:
                if (tag == "midiport")
                {
                    if(isGlobal)
//.........这里部分代码省略.........
开发者ID:Adamiko,项目名称:los,代码行数:101,代码来源:conf.cpp


注:本文中的Xml::skip方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。