Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
midi_ci Namespace Reference

Namespaces

namespace  Message
 Namespace containing structs representing different kinds of MIDI-CI message.
 

Classes

class  BlockProfileStates
 Contains profile states for each group and channel in a function block, along with the state of profiles that apply to the function block itself. More...
 
class  BufferOutput
 Represents a destination into which MIDI-CI messages can be written. More...
 
class  CacheProvider
 An interface for objects that provide resources for property exchange transactions. More...
 
class  ChannelAddress
 Identifies a channel or set of channels in a multi-group MIDI endpoint. More...
 
struct  ChannelInGroupUtils
 Utility functions for working with the ChannelInGroup enum. More...
 
class  ChannelProfileStates
 Holds the number of channels that are supported and activated for all profiles at a particular channel address. More...
 
class  Device
 Instances of this type are responsible for parsing and interpreting incoming MIDI-CI messages, and for sending MIDI-CI messages to other devices. More...
 
class  DeviceFeatures
 Flags indicating the features that are supported by a given CI device. More...
 
struct  DeviceListener
 An interface that receives callbacks when certain messages are received by a Device. More...
 
struct  DeviceMessageHandler
 An interface that will receive a callback every time a Device wishes to send a new MIDI-CI message. More...
 
class  DeviceOptions
 Configuration options for a Device. More...
 
struct  Encodings
 Utility functions for working with data formats used by property exchange messages. More...
 
struct  EncodingUtils
 Utility functions for working with the Encoding enum. More...
 
struct  FunctionBlock
 Contains information about a MIDI 2.0 function block. More...
 
class  GroupProfileStates
 Contains profile states for each channel in a group, along with the state of profiles that apply to the group itself. More...
 
class  InitiatorPropertyExchangeCache
 Accumulates message chunks that have been sent by another device in response to a transaction initiated by a local device. More...
 
class  MUID
 A 28-bit ID that uniquely identifies a device taking part in a series of MIDI-CI transactions. More...
 
struct  Pagination
 Contains information about the pagination of a request. More...
 
class  Parser
 Parses CI messages. More...
 
class  ProfileAtAddress
 Holds a profile ID, and the address of a group/channel. More...
 
struct  ProfileDelegate
 An interface with methods that can be overridden to customise how a Device implementing profiles responds to profile inquiries. More...
 
class  ProfileHost
 Acting as a ResponderListener, instances of this class can formulate appropriate replies to profile transactions initiated by remote devices. More...
 
struct  ProfileStateEntry
 Holds a profile ID, along with the number of supported and active channels corresponding to that profile. More...
 
struct  PropertyDelegate
 An interface with methods that can be overridden to customise how a Device implementing properties responds to property inquiries. More...
 
class  PropertyExchangeResult
 Contains data returned by a responder in response to a request. More...
 
class  PropertyHost
 Acting as a ResponderListener, instances of this class can formulate appropriate replies to property transactions initiated by remote devices. More...
 
struct  PropertyReplyData
 Bundles together a property reply header and a data payload. More...
 
struct  PropertyReplyHeader
 A struct containing data members that correspond to common fields in a reply to a property exchange request. More...
 
struct  PropertyRequestData
 Bundles together a property request header and a data payload. More...
 
struct  PropertyRequestHeader
 A struct containing data members that correspond to common fields in a property request header. More...
 
struct  PropertySubscriptionCommandUtils
 Functions to use with PropertySubscriptionCommand. More...
 
struct  PropertySubscriptionData
 Contains information relating to a subscription update. More...
 
struct  PropertySubscriptionHeader
 A struct containing data members that correspond to common fields in a property subscription header. More...
 
class  RequestID
 A strongly-typed identifier for a 7-bit request ID with a nullable state. More...
 
class  RequestKey
 A key used to uniquely identify ongoing transactions initiated by a ci::Device. More...
 
class  ResponderDelegate
 An interface for types that implement responses for certain message types. More...
 
class  ResponderOutput
 A buffer output that additionally provides information about an incoming message, so that an appropriate reply can be constructed for that message. More...
 
class  ResponderPropertyExchangeCache
 Accumulates message chunks that form a request initiated by a remote device. More...
 
struct  Subscription
 Matches a subscription ID to a resource name. More...
 
class  SubscriptionKey
 A key used to uniquely identify ongoing property subscriptions initiated by a ci::Device. More...
 
class  SubscriptionManager
 Manages subscriptions to properties on remote devices. More...
 
struct  SubscriptionManagerDelegate
 Functions used by a SubscriptionManager to negotiate subscriptions. More...
 
struct  SupportedAndActive
 Holds the maximum number of channels that may be activated for a MIDI-CI profile, along with the number of channels that are currently active. More...
 

Typedefs

using Profile = std::array<std::byte, 5>
 

Enumerations

enum class  Encoding { X , ascii , mcoded7 , zlibAndMcoded7 }
 Identifies different encodings that may be used by property exchange messages. More...
 
enum class  ChannelInGroup : uint8_t {
  channel0 = 0x0 , channel1 = 0x1 , channel2 = 0x2 , channel3 = 0x3 ,
  channel4 = 0x4 , channel5 = 0x5 , channel6 = 0x6 , channel7 = 0x7 ,
  channel8 = 0x8 , channel9 = 0x9 , channelA = 0xA , channelB = 0xB ,
  channelC = 0xC , channelD = 0xD , channelE = 0xE , channelF = 0xF ,
  wholeGroup = 0x7e , wholeBlock = 0x7f
}
 Byte values representing different addresses within a group. More...
 
enum class  PropertySubscriptionCommand {
  X , start , partial , full ,
  notify , end
}
 Kinds of command that may be sent as part of a subscription update. More...
 
enum class  Token64 : uint64_t
 A strongly-typed 64-bit identifier. More...
 

Functions

constexpr bool operator< (Token64 a, Token64 b)
 Compares Token64 instances.
 

Typedef Documentation

◆ Profile

using midi_ci::Profile = std::array<std::byte, 5>

Enumeration Type Documentation

◆ Encoding

enum class midi_ci::Encoding
strong

Identifies different encodings that may be used by property exchange messages.

Enumerator
ascii 
mcoded7 
zlibAndMcoded7 

◆ ChannelInGroup

enum class midi_ci::ChannelInGroup : uint8_t
strong

Byte values representing different addresses within a group.

Enumerator
channel0 
channel1 
channel2 
channel3 
channel4 
channel5 
channel6 
channel7 
channel8 
channel9 
channelA 
channelB 
channelC 
channelD 
channelE 
channelF 
wholeGroup 

Refers to all channels in the UMP group.

wholeBlock 

Refers to all channels in the function block that contains the UMP group.

◆ PropertySubscriptionCommand

Kinds of command that may be sent as part of a subscription update.

Check the Property Exchange specification to find the meaning of the different kinds.

Enumerator
start 
partial 
full 
notify 
end 

◆ Token64

enum class midi_ci::Token64 : uint64_t
strong

A strongly-typed 64-bit identifier.

Function Documentation

◆ operator<()

constexpr bool midi_ci::operator< ( Token64 a,
Token64 b )
constexpr

Compares Token64 instances.

References toUnderlyingType().

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram