Loading...
Searching...
No Matches
juce::midi_ci::DeviceOptions Class Reference

## Detailed Description

Configuration options for a Device.

The options set here will remain constant over the lifetime of a Device.

The documentation for this class was generated from the following file:

- juce_midi_ci/ci/juce_CIDeviceOptions.h

## Public Member Functions

DeviceOptions | withOutputs (std::vector< DeviceMessageHandler * > x) const
| One or more DeviceMessageHandlers that should receive callbacks with any messages that the device wishes to send.
DeviceOptions | withFunctionBlock (FunctionBlock x) const
| The function block layout of this device.
DeviceOptions | withDeviceInfo (const ump::DeviceInfo &x) const
| Basic information about the device used to determine manufacturer, model, etc.
DeviceOptions | withFeatures (DeviceFeatures x) const
| The features that you want to enable on the device.
DeviceOptions | withMaxSysExSize (size_t x) const
| The maximum size of sysex messages to accept and to produce.
DeviceOptions | withProfileDelegate (ProfileDelegate *x) const
| Specifies a profile delegate that can be used to respond to particular profile events.
DeviceOptions | withPropertyDelegate (PropertyDelegate *x) const
| Specifies a property delegate that can be used to respond to particular property events.
DeviceOptions | withProductInstanceId (const std::array< char, 16 > &x) const
| Specifies a product instance ID that will be returned in endpoint response messages.
const auto & | getOutputs () const
const auto & | getFunctionBlock () const
const auto & | getDeviceInfo () const
const auto & | getFeatures () const
const auto & | getMaxSysExSize () const
const auto & | getProductInstanceId () const
const auto & | getProfileDelegate () const
const auto & | getPropertyDelegate () const

## Static Public Member Functions

static std::array< char, 16 > | makeProductInstanceId (Random &random)
| Creates a random product instance ID.

## Static Public Attributes

static constexpr auto | beginValidAscii = 32
static constexpr auto | endValidAscii = 127

## Member Functions

## makeProductInstanceId()

std::array< char, 16 > juce::midi_ci::DeviceOptions::makeProductInstanceId | ( | Random & | random | ) |

inline static

Creates a random product instance ID.

This isn't really recommended - it's probably better to have a unique ID that remains persistent after a restart.

References juce::Random::nextInt().

## withOutputs()

DeviceOptions juce::midi_ci::DeviceOptions::withOutputs | ( | std::vector< DeviceMessageHandler * > | x | ) | const

inline nodiscard

One or more DeviceMessageHandlers that should receive callbacks with any messages that the device wishes to send.

Referenced DeviceMessageHandlers must outlive any Device constructed from these options.

References juce::withMember(), and x.

## withFunctionBlock()

DeviceOptions juce::midi_ci::DeviceOptions::withFunctionBlock | ( | FunctionBlock | x | ) | const

inline nodiscard

The function block layout of this device.

References juce::withMember(), and x.

## withDeviceInfo()

DeviceOptions juce::midi_ci::DeviceOptions::withDeviceInfo | ( | const ump::DeviceInfo & | x | ) | const

inline nodiscard

Basic information about the device used to determine manufacturer, model, etc.

In order to populate this correctly, you'll need to register with the MIDI association - otherwise you might accidentally end up using IDs that are already assigned to other companies/individuals.

References juce::withMember(), and x.

## withFeatures()

DeviceOptions juce::midi_ci::DeviceOptions::withFeatures | ( | DeviceFeatures | x | ) | const

inline nodiscard

The features that you want to enable on the device.

If you enable property exchange, you may wish to supply a PropertyDelegate using withPropertyDelegate(). If you enable profile configuration, you may wish to supply a ProfileDelegate using withProfileDelegate(). Process inquiry is not currently supported.

References juce::withMember(), and x.

## withMaxSysExSize()

DeviceOptions juce::midi_ci::DeviceOptions::withMaxSysExSize | ( | size_t | x | ) | const

inline nodiscard

The maximum size of sysex messages to accept and to produce.

References juce::withMember(), and x.

## withProfileDelegate()

DeviceOptions juce::midi_ci::DeviceOptions::withProfileDelegate | ( | ProfileDelegate * | x | ) | const

inline nodiscard

Specifies a profile delegate that can be used to respond to particular profile events.

The referenced ProfileDelegate must outlive the Device.

References juce::withMember(), and x.

## withPropertyDelegate()

DeviceOptions juce::midi_ci::DeviceOptions::withPropertyDelegate | ( | PropertyDelegate * | x | ) | const

inline nodiscard

Specifies a property delegate that can be used to respond to particular property events.

The referenced PropertyDelegate must outlive the Device.

References juce::withMember(), and x.

## withProductInstanceId()

DeviceOptions juce::midi_ci::DeviceOptions::withProductInstanceId | ( | const std::array< char, 16 > & | x | ) | const

inline nodiscard

Specifies a product instance ID that will be returned in endpoint response messages.

References jassertfalse, juce::withMember(), and x.

## getOutputs()

const auto & juce::midi_ci::DeviceOptions::getOutputs | ( |  | ) | const

inline nodiscard

See also
  withOutputs()

## getFunctionBlock()

const auto & juce::midi_ci::DeviceOptions::getFunctionBlock | ( |  | ) | const

inline nodiscard

See also
  withFunctionBlock()

## getDeviceInfo()

const auto & juce::midi_ci::DeviceOptions::getDeviceInfo | ( |  | ) | const

inline nodiscard

See also
  withDeviceInfo()

## getFeatures()

const auto & juce::midi_ci::DeviceOptions::getFeatures | ( |  | ) | const

inline nodiscard

See also
  withFeatures()

## getMaxSysExSize()

const auto & juce::midi_ci::DeviceOptions::getMaxSysExSize | ( |  | ) | const

inline nodiscard

See also
  withMaxSysExSize()

## getProductInstanceId()

const auto & juce::midi_ci::DeviceOptions::getProductInstanceId | ( |  | ) | const

inline nodiscard

See also
  withProductInstanceId()

## getProfileDelegate()

const auto & juce::midi_ci::DeviceOptions::getProfileDelegate | ( |  | ) | const

inline nodiscard

See also
  withProfileDelegate()

## getPropertyDelegate()

const auto & juce::midi_ci::DeviceOptions::getPropertyDelegate | ( |  | ) | const

inline nodiscard

See also
  withPropertyDelegate()

## Member Data Documentation

## beginValidAscii

auto juce::midi_ci::DeviceOptions::beginValidAscii = 32

static constexpr

## endValidAscii

auto juce::midi_ci::DeviceOptions::endValidAscii = 127

static constexpr

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited