Loading...
Searching...
No Matches
juce::MPEZone Struct Reference

Detailed Description

This struct represents an MPE zone.

It can either be a lower or an upper zone, where:

  • A lower zone encompasses master channel 1 and an arbitrary number of ascending MIDI channels, increasing from channel 2.
  • An upper zone encompasses master channel 16 and an arbitrary number of descending MIDI channels, decreasing from channel 15.

It also defines a pitchbend range (in semitones) to be applied for per-note pitchbends and master pitchbends, respectively.

Public Types

enum class  Type { lower , upper }

Public Member Functions

 MPEZone ()=default
 MPEZone (Type type, int memberChannels=0, int perNotePitchbend=48, int masterPitchbend=2)
bool isLowerZone () const noexcept
bool isUpperZone () const noexcept
bool isActive () const noexcept
int getMasterChannel () const noexcept
int getFirstMemberChannel () const noexcept
int getLastMemberChannel () const noexcept
bool isUsingChannelAsMemberChannel (int channel) const noexcept
bool isUsing (int channel) const noexcept
bool operator== (const MPEZone &other) const
bool operator!= (const MPEZone &other) const

Static Public Member Functions

static auto tie (const MPEZone &z)

Public Attributes

Type zoneType = Type::lower
int numMemberChannels = 0
int perNotePitchbendRange = 48
int masterPitchbendRange = 2

Static Public Attributes

static constexpr int lowerZoneMasterChannel = 1
static constexpr int upperZoneMasterChannel = 16

Member Enums

◆ Type

enum class juce::MPEZone::Type
strong
Enumerator
lower 
upper 

Constructors and Destructors

◆ MPEZone() [1/2]

juce::MPEZone::MPEZone ( )
default

Referenced by operator!=(), operator==(), and tie().

◆ MPEZone() [2/2]

juce::MPEZone::MPEZone ( Type type,
int memberChannels = 0,
int perNotePitchbend = 48,
int masterPitchbend = 2 )

Member Functions

◆ isLowerZone()

bool juce::MPEZone::isLowerZone ( ) const
noexcept

◆ isUpperZone()

bool juce::MPEZone::isUpperZone ( ) const
noexcept

References upper, and zoneType.

◆ isActive()

bool juce::MPEZone::isActive ( ) const
noexcept

References numMemberChannels.

◆ getMasterChannel()

int juce::MPEZone::getMasterChannel ( ) const
noexcept

◆ getFirstMemberChannel()

int juce::MPEZone::getFirstMemberChannel ( ) const
noexcept

◆ getLastMemberChannel()

int juce::MPEZone::getLastMemberChannel ( ) const
noexcept

◆ isUsingChannelAsMemberChannel()

bool juce::MPEZone::isUsingChannelAsMemberChannel ( int channel) const
noexcept

◆ isUsing()

bool juce::MPEZone::isUsing ( int channel) const
noexcept

◆ tie()

auto juce::MPEZone::tie ( const MPEZone & z)
static

◆ operator==()

bool juce::MPEZone::operator== ( const MPEZone & other) const

References MPEZone(), and tie().

◆ operator!=()

bool juce::MPEZone::operator!= ( const MPEZone & other) const

References MPEZone(), and tie().

Member Data Documentation

◆ lowerZoneMasterChannel

int juce::MPEZone::lowerZoneMasterChannel = 1
staticconstexpr

◆ upperZoneMasterChannel

int juce::MPEZone::upperZoneMasterChannel = 16
static

◆ zoneType

Type juce::MPEZone::zoneType = Type::lower

Referenced by isLowerZone(), isUpperZone(), MPEZone(), and tie().

◆ numMemberChannels

int juce::MPEZone::numMemberChannels = 0

◆ perNotePitchbendRange

int juce::MPEZone::perNotePitchbendRange = 48

Referenced by MPEZone(), and tie().

◆ masterPitchbendRange

int juce::MPEZone::masterPitchbendRange = 2

Referenced by MPEZone(), and tie().

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