Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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;
}