Fix OSC packet construction for tuples

nix
Owen Green 4 years ago
parent 56bd523bcd
commit 33c9253b06

@ -126,9 +126,11 @@ namespace client {
} }
template <typename... Ts> template <typename... Ts>
static index numTags(std::tuple<Ts...>&&) static index numTags(std::tuple<Ts...>&& t)
{ {
return std::tuple_size<std::tuple<Ts...>>::value; index count = 0;
ForEach(t,[&count](auto& x){ count += numTags(x);});
return count;
} }
static void getTag(Packet& p, typename BufferT::type) { p.addtag('i'); } static void getTag(Packet& p, typename BufferT::type) { p.addtag('i'); }

@ -267,7 +267,7 @@ struct FluidSCMessaging{
small_scpacket packet; small_scpacket packet;
packet.adds(s.c_str()); packet.adds(s.c_str());
packet.maketags(static_cast<int>(numTags + 3)); packet.maketags(static_cast<int>(numTags + 2));
packet.addtag(','); packet.addtag(',');
packet.addtag('i'); packet.addtag('i');
ToOSCTypes<small_scpacket>::getTag(packet,static_cast<T>(result)); ToOSCTypes<small_scpacket>::getTag(packet,static_cast<T>(result));

Loading…
Cancel
Save