int makeSynthMsgWithTags(big_scpacket *packet, PyrSlot *slots, int size) { packet->BeginMsg(); // First component: OSC Address Pattern. // For convenience, we allow the user to omit the initial '/', when // expressing it as a symbol (e.g. \g_new) - we add it back on here, for OSC compliance. if(slots->utag == tagSym && slots->us->name[0]!='/'){ packet->adds_slpre(slots->us->name); }else{ addMsgSlot(packet, slots); } // skip space for tags packet->maketags(size); packet->addtag(','); for (int i=1; i<size; ++i) { addMsgSlotWithTags(packet, slots+i); } packet->EndMsg(); return errNone; }
static int makeSynthMsgWithTags(big_scpacket *packet, PyrSlot *slots, int size) { packet->BeginMsg(); // First component: OSC Address Pattern. // For convenience, we allow the user to omit the initial '/', when // expressing it as a symbol (e.g. \g_new) - we add it back on here, for OSC compliance. if(GetTag(slots) == tagSym && slotRawSymbol(slots)->name[0]!='/'){ packet->adds_slpre(slotRawSymbol(slots)->name); } else { int error = addMsgSlot(packet, slots); if (error != errNone) return error; } // skip space for tags packet->maketags(size); packet->addtag(','); try { for (int i=1; i<size; ++i) { int error = addMsgSlotWithTags(packet, slots+i); if (error != errNone) return error; } } catch (std::runtime_error & e) { error("makeSynthMsgWithTags: %s\n", e.what()); return errFailed; } packet->EndMsg(); return errNone; }
int makeSynthMsg(big_scpacket *packet, PyrSlot *slots, int size) { packet->BeginMsg(); for (int i=0; i<size; ++i) { addMsgSlot(packet, slots+i); } packet->EndMsg(); return errNone; }