Loading...
Searching...
No Matches
juce::midi_ci::ProfileHost Class Referencefinal

## Detailed Description

Acting as a ResponderListener, instances of this class can formulate appropriate replies to profile transactions initiated by remote devices.

ProfileHost instances also contains methods to inform remote devices about changes to local profile state.

Stores the current state of profiles on the local device.

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

- juce_midi_ci/ci/juce_CIProfileHost.h

Inheritance diagram for juce::midi_ci::ProfileHost:

## Public Member Functions

| ProfileHost (FunctionBlock fb, ProfileDelegate &d, BufferOutput &o)
void | addProfile (ProfileAtAddress, int maxNumChannels=1)
| Adds support for a profile on the specified group/channel with a maximum number of channels that may be activated.
void | removeProfile (ProfileAtAddress)
| Removes support for a profile on the specified group/channel.
void | setProfileEnablement (ProfileAtAddress, int numChannels)
| Activates or deactivates a profile on the specified group/channel.
const BlockProfileStates & | getProfileStates () const
| Returns the profile states (supported/active) for all groups and channels.
SupportedAndActive | getState (ProfileAtAddress profileAtAddress) const
| Returns the number of supported and active channels for the given profile on the specified group/channel.
bool | tryRespond (ResponderOutput &, const Message::Parsed &) override
| If the message is processed successfully, and a response sent, then this returns true.
Public Member Functions inherited from juce::midi_ci::ResponderDelegate
| ResponderDelegate ()=default
virtual | ~ResponderDelegate ()=default

## Constructors and Destructors

## ProfileHost()

juce::midi_ci::ProfileHost::ProfileHost | ( | FunctionBlock | fb,
|  | ProfileDelegate & | d,
|  | BufferOutput & | o )

inline

## Member Functions

## addProfile()

void juce::midi_ci::ProfileHost::addProfile | ( | ProfileAtAddress | ,
|  | int | maxNumChannels = 1 )

Adds support for a profile on the specified group/channel with a maximum number of channels that may be activated.

## removeProfile()

void juce::midi_ci::ProfileHost::removeProfile | ( | ProfileAtAddress |  | ) |

Removes support for a profile on the specified group/channel.

## setProfileEnablement()

void juce::midi_ci::ProfileHost::setProfileEnablement | ( | ProfileAtAddress | ,
|  | int | numChannels )

Activates or deactivates a profile on the specified group/channel.

The profile should previously have been added with addProfile(). A positive value of numChannels will enable the profile, and a non-positive value will disable it. This includes group and function-block profiles; passing any positive value will enable the profile on the entire group or block.

## getProfileStates()

const BlockProfileStates & juce::midi_ci::ProfileHost::getProfileStates | ( |  | ) | const

inline

Returns the profile states (supported/active) for all groups and channels.

## getState()

SupportedAndActive juce::midi_ci::ProfileHost::getState | ( | ProfileAtAddress | profileAtAddress | ) | const

inline

Returns the number of supported and active channels for the given profile on the specified group/channel.

If the supported channels is 0, then the profile is not supported on the group/channel.

If the active channels is 0, then the profile is inactive on the group/channel.

References juce::midi_ci::ProfileAtAddress::address, and juce::midi_ci::ProfileAtAddress::profile.

## tryRespond()

bool juce::midi_ci::ProfileHost::tryRespond | ( | ResponderOutput & | output,
|  | const Message::Parsed & | message )

override virtual

If the message is processed successfully, and a response sent, then this returns true.

Otherwise, returns false, allowing other ResponderDelegates to attempt to handle the message if necessary.

Implements juce::midi_ci::ResponderDelegate.

### 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