sequencer
Namespaces | Enumerations | Functions | Variables
system_exclusive.hpp File Reference
#include <sequencer/assert.hpp>
#include <sequencer/midi/message/byte.hpp>
#include <sequencer/midi/message/message_type.hpp>
#include <sequencer/midi/message/util.hpp>
#include <cstdint>
Include dependency graph for system_exclusive.hpp:

Go to the source code of this file.

Namespaces

 sequencer::midi::system::exclusive
 
 sequencer::midi::system::exclusive::realtime
 
 sequencer::midi::system::exclusive::non_realtime
 

Enumerations

enum  sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type : std::uint8_t {
  sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::note_volume = 0x07, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::pan = 0x0A, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::timbre_harmonic_intensity = 0x47, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::release_time = 0x48,
  sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::attack_time = 0x49, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::brightness = 0x4A, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::decay_time = 0x4B, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::vibrato_rate = 0x4C,
  sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::vibrato_depth = 0x4D, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::vibrato_delay = 0x4E, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::reverb_send = 0x5B, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::chorus_send = 0x5D,
  sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::fine_tuning = 0x78, sequencer::midi::system::exclusive::realtime::key_based_instrument_control_type::coarse_tuning = 0x79
}
 

Functions

constexpr message_t< 1 > sequencer::midi::system::exclusive::end_system_exclusive () noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+3u > sequencer::midi::system::exclusive::system_exclusive (std::byte manufacturer_id, Data &&... data) noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+3u > sequencer::midi::system::exclusive::system_exclusive (std::uint8_t manufacturer_id, Data &&... data) noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+5u > sequencer::midi::system::exclusive::system_exclusive (message_t< 3 > manufacturer_id, Data &&... data) noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+5u > sequencer::midi::system::exclusive::system_exclusive (std::array< std::uint8_t, 3 > manufacturer_id, Data &&... data) noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+4u > sequencer::midi::system::exclusive::realtime::system_exclusive (std::uint8_t manufacturer_id, Data &&... data) noexcept
 
constexpr message_t< 8 > sequencer::midi::system::exclusive::realtime::device_control (std::uint8_t manufacturer_id, std::uint8_t key, std::uint16_t value) noexcept
 
constexpr message_t< 8 > sequencer::midi::system::exclusive::realtime::master_volume (std::uint8_t manufacturer_id, std::uint16_t value) noexcept
 
constexpr message_t< 8 > sequencer::midi::system::exclusive::realtime::master_balance (std::uint8_t manufacturer_id, std::uint16_t value) noexcept
 
constexpr message_t< 8 > sequencer::midi::system::exclusive::realtime::master_fine_tuning (std::uint8_t manufacturer_id, std::uint16_t value) noexcept
 
constexpr message_t< 8 > sequencer::midi::system::exclusive::realtime::master_coarse_tuning (std::uint8_t manufacturer_id, std::uint16_t value) noexcept
 
template<std::size_t... index>
constexpr message_t< 4+sizeof...(index) > sequencer::midi::system::exclusive::realtime::make_sysex (std::uint8_t manufacturer_id, const message_t< sizeof...(index) > &data, std::index_sequence< index... >)
 
template<class Id , class Value , std::size_t number_of_values, std::size_t number_of_slots = 0>
constexpr message_t< 9+(sizeof(Id)+sizeof(Value)) *number_of_values+2 *number_of_slots > sequencer::midi::system::exclusive::realtime::global_parameter_control (std::uint8_t manufacturer_id, const std::array< std::pair< Id, Value >, number_of_values > &id_value_pairs, const std::array< std::uint16_t, number_of_slots > &slots={}) noexcept
 
constexpr std::uint8_t sequencer::midi::system::exclusive::realtime::to_uint8 (key_based_instrument_control_type type) noexcept
 
template<std::size_t number_of_entries>
constexpr message_t< 8+2 *number_of_entries > sequencer::midi::system::exclusive::realtime::key_based_instrument_control (std::uint8_t manufacturer_id, std::uint8_t channel, std::uint8_t key, const std::array< std::pair< std::uint8_t, std::uint8_t >, number_of_entries > &number_value_pairs) noexcept
 
template<class... Data>
constexpr message_t< sizeof...(Data)+4u > sequencer::midi::system::exclusive::non_realtime::system_exclusive (std::uint8_t manufacturer_id, Data &&... data) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::general_midi_system (std::uint8_t manufacturer_id, std::uint8_t value) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::general_midi_system_disable (std::uint8_t manufacturer_id) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::general_midi_1_system_enable (std::uint8_t manufacturer_id) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::general_midi_2_system_enable (std::uint8_t manufacturer_id) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::downloadable_sounds (std::uint8_t manufacturer_id, std::byte value) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::downloadable_sounds (std::uint8_t manufacturer_id, bool on) noexcept
 
constexpr message_t< 6 > sequencer::midi::system::exclusive::non_realtime::downloadable_sounds_voice_allocation (std::uint8_t manufacturer_id, bool on) noexcept
 

Variables

constexpr auto sequencer::midi::system::exclusive::realtime::id_byte = std::byte{0x7F}