tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
tracktion::engine::MidiOutputDevice Class Reference
Inheritance diagram for tracktion::engine::MidiOutputDevice:
tracktion::engine::OutputDevice tracktion::engine::Selectable tracktion::engine::HostedMidiOutputDevice tracktion::engine::SoftwareMidiOutputDevice

Public Member Functions

 MidiOutputDevice (Engine &, juce::MidiDeviceInfo)
 
juce::String openDevice () override
 
void closeDevice () override
 
void setEnabled (bool) override
 
bool isMidi () const override
 
virtual MidiOutputDeviceInstancecreateInstance (EditPlaybackContext &)
 
juce::String prepareToPlay (Edit *, TimePosition)
 
bool start ()
 
void stop ()
 
juce::String getNameForMidiNoteNumber (int note, int midiChannel, bool useSharp=true) const
 
bool isConnectedToExternalController () const
 
void setExternalController (ExternalController *)
 sets the external controller messages are coming from
 
void removeExternalController (ExternalController *)
 
void updateMidiTC (Edit *)
 
void setSendingMMC (bool)
 
bool isSendingMMC () const noexcept
 
bool isSendingClock () const noexcept
 
void setSendingClock (bool)
 
bool isSendingTimecode () const noexcept
 
void flipSendingTimecode ()
 
void setSendControllerMidiClock (bool b) noexcept
 
bool isSendingControllerMidiClock () const noexcept
 
void fireMessage (const juce::MidiMessage &)
 
void sendNoteOffMessages ()
 
TimeDuration getDeviceDelay () const noexcept
 
int getPreDelayMs () const noexcept
 
void setPreDelayMs (int)
 
juce::StringArray getProgramSets () const
 
int getCurrentSetIndex () const
 
void setCurrentProgramSet (const juce::String &)
 
juce::String getCurrentProgramSet () const
 
juce::String getProgramName (int programNumber, int bank)
 
bool canEditProgramSet (int index) const
 
bool canDeleteProgramSet (int index) const
 
juce::String getBankName (int bank)
 
int getBankID (int bank)
 
bool areMidiPatchesZeroBased ()
 
MidiProgramManagergetMidiProgramManager () const
 
- Public Member Functions inherited from tracktion::engine::OutputDevice
 OutputDevice (Engine &, juce::String type, juce::String name, juce::String deviceID)
 
virtual juce::String getName () const
 
juce::String getAlias () const
 the alias is the name shown in the draggable input device components
 
void setAlias (const juce::String &alias)
 
juce::String getDeviceID () const
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
bool isEnabled () const
 
- Public Member Functions inherited from tracktion::engine::Selectable
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected.
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object.
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void addListener (SelectableListener *)
 
void removeListener (SelectableListener *)
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions.
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 

Static Public Member Functions

static void setControllerOffMessagesSent (Engine &, bool)
 
static bool getControllerOffMessagesSent (Engine &)
 
- Static Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

Protected Member Functions

virtual void sendMessageNow (const juce::MidiMessage &message)
 
void loadProps ()
 
void saveProps ()
 

Protected Attributes

juce::MidiDeviceInfo deviceInfo
 
int preDelayMillisecs
 
int audioAdjustmentDelay
 
std::unique_ptr< MidiTimecodeGeneratortimecodeGenerator
 
std::unique_ptr< MidiClockGeneratormidiClockGenerator
 
bool sendTimecode
 
bool sendMidiClock
 
bool playing
 
juce::String programNameSet
 
double sampleRate
 
std::unique_ptr< juce::MidiOutputoutputDevice
 
bool sendingMMC
 
bool sendControllerMidiClock
 
bool softDevice
 
ExternalControllerexternalController
 
juce::BigInteger midiNotesOn
 
juce::BigInteger channelsUsed
 
int sustain
 
MidiMessageArray midiMessages
 
juce::CriticalSection noteOnLock
 
- Protected Attributes inherited from tracktion::engine::OutputDevice
bool enabled
 

Friends

class MidiOutputDeviceInstance
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 
- Public Attributes inherited from tracktion::engine::OutputDevice
Engineengine
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 

Detailed Description

Definition at line 15 of file tracktion_MidiOutputDevice.h.

Constructor & Destructor Documentation

◆ MidiOutputDevice()

tracktion::engine::MidiOutputDevice::MidiOutputDevice ( Engine e,
juce::MidiDeviceInfo  info 
)

Definition at line 264 of file tracktion_MidiOutputDevice.cpp.

◆ ~MidiOutputDevice()

tracktion::engine::MidiOutputDevice::~MidiOutputDevice ( )
override

Definition at line 278 of file tracktion_MidiOutputDevice.cpp.

Member Function Documentation

◆ areMidiPatchesZeroBased()

bool tracktion::engine::MidiOutputDevice::areMidiPatchesZeroBased ( )

Definition at line 599 of file tracktion_MidiOutputDevice.cpp.

◆ canDeleteProgramSet()

bool tracktion::engine::MidiOutputDevice::canDeleteProgramSet ( int  index) const

Definition at line 584 of file tracktion_MidiOutputDevice.cpp.

◆ canEditProgramSet()

bool tracktion::engine::MidiOutputDevice::canEditProgramSet ( int  index) const

Definition at line 579 of file tracktion_MidiOutputDevice.cpp.

◆ closeDevice()

void tracktion::engine::MidiOutputDevice::closeDevice ( )
overridevirtual

Implements tracktion::engine::OutputDevice.

Definition at line 445 of file tracktion_MidiOutputDevice.cpp.

◆ createInstance()

MidiOutputDeviceInstance * tracktion::engine::MidiOutputDevice::createInstance ( EditPlaybackContext c)
virtual

Definition at line 604 of file tracktion_MidiOutputDevice.cpp.

◆ fireMessage()

void tracktion::engine::MidiOutputDevice::fireMessage ( const juce::MidiMessage message)

Definition at line 497 of file tracktion_MidiOutputDevice.cpp.

◆ flipSendingTimecode()

void tracktion::engine::MidiOutputDevice::flipSendingTimecode ( )

Definition at line 547 of file tracktion_MidiOutputDevice.cpp.

◆ getBankID()

int tracktion::engine::MidiOutputDevice::getBankID ( int  bank)

Definition at line 594 of file tracktion_MidiOutputDevice.cpp.

◆ getBankName()

juce::String tracktion::engine::MidiOutputDevice::getBankName ( int  bank)

Definition at line 589 of file tracktion_MidiOutputDevice.cpp.

◆ getControllerOffMessagesSent()

bool tracktion::engine::MidiOutputDevice::getControllerOffMessagesSent ( Engine e)
static

Definition at line 338 of file tracktion_MidiOutputDevice.cpp.

◆ getCurrentProgramSet()

juce::String tracktion::engine::MidiOutputDevice::getCurrentProgramSet ( ) const

Definition at line 72 of file tracktion_MidiOutputDevice.h.

◆ getCurrentSetIndex()

int tracktion::engine::MidiOutputDevice::getCurrentSetIndex ( ) const

Definition at line 559 of file tracktion_MidiOutputDevice.cpp.

◆ getDeviceDelay()

TimeDuration tracktion::engine::MidiOutputDevice::getDeviceDelay ( ) const
noexcept

Definition at line 521 of file tracktion_MidiOutputDevice.cpp.

◆ getMidiProgramManager()

MidiProgramManager & tracktion::engine::MidiOutputDevice::getMidiProgramManager ( ) const

Definition at line 81 of file tracktion_MidiOutputDevice.h.

◆ getNameForMidiNoteNumber()

juce::String tracktion::engine::MidiOutputDevice::getNameForMidiNoteNumber ( int  note,
int  midiChannel,
bool  useSharp = true 
) const

Definition at line 343 of file tracktion_MidiOutputDevice.cpp.

◆ getPreDelayMs()

int tracktion::engine::MidiOutputDevice::getPreDelayMs ( ) const
noexcept

Definition at line 65 of file tracktion_MidiOutputDevice.h.

◆ getProgramName()

juce::String tracktion::engine::MidiOutputDevice::getProgramName ( int  programNumber,
int  bank 
)

Definition at line 574 of file tracktion_MidiOutputDevice.cpp.

◆ getProgramSets()

juce::StringArray tracktion::engine::MidiOutputDevice::getProgramSets ( ) const

Definition at line 554 of file tracktion_MidiOutputDevice.cpp.

◆ isConnectedToExternalController()

bool tracktion::engine::MidiOutputDevice::isConnectedToExternalController ( ) const

Definition at line 39 of file tracktion_MidiOutputDevice.h.

◆ isMidi()

bool tracktion::engine::MidiOutputDevice::isMidi ( ) const
overridevirtual

Reimplemented from tracktion::engine::OutputDevice.

Definition at line 25 of file tracktion_MidiOutputDevice.h.

◆ isSendingClock()

bool tracktion::engine::MidiOutputDevice::isSendingClock ( ) const
noexcept

Definition at line 50 of file tracktion_MidiOutputDevice.h.

◆ isSendingControllerMidiClock()

bool tracktion::engine::MidiOutputDevice::isSendingControllerMidiClock ( ) const
noexcept

Definition at line 57 of file tracktion_MidiOutputDevice.h.

◆ isSendingMMC()

bool tracktion::engine::MidiOutputDevice::isSendingMMC ( ) const
noexcept

Definition at line 49 of file tracktion_MidiOutputDevice.h.

◆ isSendingTimecode()

bool tracktion::engine::MidiOutputDevice::isSendingTimecode ( ) const
noexcept

Definition at line 53 of file tracktion_MidiOutputDevice.h.

◆ loadProps()

void tracktion::engine::MidiOutputDevice::loadProps ( )
protected

Definition at line 372 of file tracktion_MidiOutputDevice.cpp.

◆ openDevice()

juce::String tracktion::engine::MidiOutputDevice::openDevice ( )
overridevirtual

Implements tracktion::engine::OutputDevice.

Definition at line 407 of file tracktion_MidiOutputDevice.cpp.

◆ prepareToPlay()

juce::String tracktion::engine::MidiOutputDevice::prepareToPlay ( Edit edit,
TimePosition   
)

Definition at line 294 of file tracktion_MidiOutputDevice.cpp.

◆ removeExternalController()

void tracktion::engine::MidiOutputDevice::removeExternalController ( ExternalController ec)

Definition at line 366 of file tracktion_MidiOutputDevice.cpp.

◆ saveProps()

void tracktion::engine::MidiOutputDevice::saveProps ( )
protected

Definition at line 394 of file tracktion_MidiOutputDevice.cpp.

◆ sendMessageNow()

void tracktion::engine::MidiOutputDevice::sendMessageNow ( const juce::MidiMessage message)
protectedvirtual

Definition at line 491 of file tracktion_MidiOutputDevice.cpp.

◆ sendNoteOffMessages()

void tracktion::engine::MidiOutputDevice::sendNoteOffMessages ( )

Definition at line 456 of file tracktion_MidiOutputDevice.cpp.

◆ setControllerOffMessagesSent()

void tracktion::engine::MidiOutputDevice::setControllerOffMessagesSent ( Engine e,
bool  b 
)
static

Definition at line 332 of file tracktion_MidiOutputDevice.cpp.

◆ setCurrentProgramSet()

void tracktion::engine::MidiOutputDevice::setCurrentProgramSet ( const juce::String newSet)

Definition at line 564 of file tracktion_MidiOutputDevice.cpp.

◆ setEnabled()

void tracktion::engine::MidiOutputDevice::setEnabled ( bool  b)
overridevirtual

Implements tracktion::engine::OutputDevice.

Definition at line 284 of file tracktion_MidiOutputDevice.cpp.

◆ setExternalController()

void tracktion::engine::MidiOutputDevice::setExternalController ( ExternalController ec)

sets the external controller messages are coming from

Definition at line 360 of file tracktion_MidiOutputDevice.cpp.

◆ setPreDelayMs()

void tracktion::engine::MidiOutputDevice::setPreDelayMs ( int  ms)

Definition at line 526 of file tracktion_MidiOutputDevice.cpp.

◆ setSendControllerMidiClock()

void tracktion::engine::MidiOutputDevice::setSendControllerMidiClock ( bool  b)
noexcept

Definition at line 56 of file tracktion_MidiOutputDevice.h.

◆ setSendingClock()

void tracktion::engine::MidiOutputDevice::setSendingClock ( bool  b)

Definition at line 537 of file tracktion_MidiOutputDevice.cpp.

◆ setSendingMMC()

void tracktion::engine::MidiOutputDevice::setSendingMMC ( bool  b)

Definition at line 355 of file tracktion_MidiOutputDevice.cpp.

◆ start()

bool tracktion::engine::MidiOutputDevice::start ( )

Definition at line 308 of file tracktion_MidiOutputDevice.cpp.

◆ stop()

void tracktion::engine::MidiOutputDevice::stop ( )

Definition at line 320 of file tracktion_MidiOutputDevice.cpp.

◆ updateMidiTC()

void tracktion::engine::MidiOutputDevice::updateMidiTC ( Edit edit)

Definition at line 350 of file tracktion_MidiOutputDevice.cpp.

Friends And Related Symbol Documentation

◆ MidiOutputDeviceInstance

friend class MidiOutputDeviceInstance
friend

Definition at line 85 of file tracktion_MidiOutputDevice.h.

Member Data Documentation

◆ audioAdjustmentDelay

int tracktion::engine::MidiOutputDevice::audioAdjustmentDelay
protected

Definition at line 93 of file tracktion_MidiOutputDevice.h.

◆ channelsUsed

juce::BigInteger tracktion::engine::MidiOutputDevice::channelsUsed
protected

Definition at line 108 of file tracktion_MidiOutputDevice.h.

◆ deviceInfo

juce::MidiDeviceInfo tracktion::engine::MidiOutputDevice::deviceInfo
protected

Definition at line 92 of file tracktion_MidiOutputDevice.h.

◆ externalController

ExternalController* tracktion::engine::MidiOutputDevice::externalController
protected

Definition at line 106 of file tracktion_MidiOutputDevice.h.

◆ midiClockGenerator

std::unique_ptr<MidiClockGenerator> tracktion::engine::MidiOutputDevice::midiClockGenerator
protected

Definition at line 95 of file tracktion_MidiOutputDevice.h.

◆ midiMessages

MidiMessageArray tracktion::engine::MidiOutputDevice::midiMessages
protected

Definition at line 111 of file tracktion_MidiOutputDevice.h.

◆ midiNotesOn

juce::BigInteger tracktion::engine::MidiOutputDevice::midiNotesOn
protected

Definition at line 108 of file tracktion_MidiOutputDevice.h.

◆ noteOnLock

juce::CriticalSection tracktion::engine::MidiOutputDevice::noteOnLock
protected

Definition at line 113 of file tracktion_MidiOutputDevice.h.

◆ outputDevice

std::unique_ptr<juce::MidiOutput> tracktion::engine::MidiOutputDevice::outputDevice
protected

Definition at line 102 of file tracktion_MidiOutputDevice.h.

◆ playing

bool tracktion::engine::MidiOutputDevice::playing
protected

Definition at line 97 of file tracktion_MidiOutputDevice.h.

◆ preDelayMillisecs

int tracktion::engine::MidiOutputDevice::preDelayMillisecs
protected

Definition at line 93 of file tracktion_MidiOutputDevice.h.

◆ programNameSet

juce::String tracktion::engine::MidiOutputDevice::programNameSet
protected

Definition at line 98 of file tracktion_MidiOutputDevice.h.

◆ sampleRate

double tracktion::engine::MidiOutputDevice::sampleRate
protected

Definition at line 100 of file tracktion_MidiOutputDevice.h.

◆ sendControllerMidiClock

bool tracktion::engine::MidiOutputDevice::sendControllerMidiClock
protected

Definition at line 104 of file tracktion_MidiOutputDevice.h.

◆ sendingMMC

bool tracktion::engine::MidiOutputDevice::sendingMMC
protected

Definition at line 103 of file tracktion_MidiOutputDevice.h.

◆ sendMidiClock

bool tracktion::engine::MidiOutputDevice::sendMidiClock
protected

Definition at line 96 of file tracktion_MidiOutputDevice.h.

◆ sendTimecode

bool tracktion::engine::MidiOutputDevice::sendTimecode
protected

Definition at line 96 of file tracktion_MidiOutputDevice.h.

◆ softDevice

bool tracktion::engine::MidiOutputDevice::softDevice
protected

Definition at line 105 of file tracktion_MidiOutputDevice.h.

◆ sustain

int tracktion::engine::MidiOutputDevice::sustain
protected

Definition at line 109 of file tracktion_MidiOutputDevice.h.

◆ timecodeGenerator

std::unique_ptr<MidiTimecodeGenerator> tracktion::engine::MidiOutputDevice::timecodeGenerator
protected

Definition at line 94 of file tracktion_MidiOutputDevice.h.


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