25namespace juce::universal_midi_packets
50 static uint32_t getNumWordsForMessageType (uint32_t);
55 template <
size_t Index>
60 static constexpr uint32_t set (uint32_t word, uint8_t value)
62 return (word & ~((uint32_t) 0xf << shift)) | (
uint32_t) ((value & 0xf) << shift);
67 return (uint8_t) ((word >> shift) & 0xf);
74 template <
size_t Index>
79 static constexpr uint32_t set (uint32_t word, uint8_t value)
81 return (word & ~((uint32_t) 0xff << shift)) | (
uint32_t) (value << shift);
86 return (uint8_t) ((word >> shift) & 0xff);
93 template <
size_t Index>
98 static constexpr uint32_t set (uint32_t word, uint16_t value)
100 return (word & ~((uint32_t) 0xffff << shift)) | (
uint32_t) (value << shift);
105 return (uint16_t) ((word >> shift) & 0xffff);
109 static constexpr uint8_t getMessageType (uint32_t w)
noexcept {
return U4<0>::get (w); }
110 static constexpr uint8_t getGroup (uint32_t w)
noexcept {
return U4<1>::get (w); }
111 static constexpr uint8_t getStatus (uint32_t w)
noexcept {
return U4<2>::get (w); }
112 static constexpr uint8_t getChannel (uint32_t w)
noexcept {
return U4<3>::get (w); }
auto & get(ProcessorChain< Processors... > &chain) noexcept
Non-member equivalent of ProcessorChain::get which avoids awkward member template syntax.