Browse Source

Fixed a bug in the InterAppAudioEffect demo

tags/2021-05-28
Tom Poole 8 years ago
parent
commit
4746337ecc
2 changed files with 15 additions and 6 deletions
  1. +14
    -6
      examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h
  2. +1
    -0
      examples/PlugInSamples/InterAppAudioEffect/Source/SimpleMeter.h

+ 14
- 6
examples/PlugInSamples/InterAppAudioEffect/Source/IAAEffectEditor.h View File

@@ -96,6 +96,11 @@ public:
startTimerHz (60); startTimerHz (60);
} }
~IAAEffectEditor()
{
processor.removeMeterListener (*this);
}
//============================================================================== //==============================================================================
void paint (Graphics& g) override void paint (Graphics& g) override
{ {
@@ -145,6 +150,7 @@ private:
{ {
auto timeInfoSuccess = processor.updateCurrentTimeInfoFromHost (lastPosInfo); auto timeInfoSuccess = processor.updateCurrentTimeInfoFromHost (lastPosInfo);
transportText.setVisible (timeInfoSuccess); transportText.setVisible (timeInfoSuccess);
if (timeInfoSuccess) if (timeInfoSuccess)
updateTransportTextDisplay(); updateTransportTextDisplay();
@@ -157,6 +163,7 @@ private:
void buttonClicked (Button* b) override void buttonClicked (Button* b) override
{ {
auto playHead = processor.getPlayHead(); auto playHead = processor.getPlayHead();
if (playHead != nullptr && playHead->canControlTransport()) if (playHead != nullptr && playHead->canControlTransport())
{ {
if (b == &rewindButton) if (b == &rewindButton)
@@ -215,10 +222,10 @@ private:
MemoryOutputStream displayText; MemoryOutputStream displayText;
displayText << "[" << SystemStats::getJUCEVersion() << "]\n" displayText << "[" << SystemStats::getJUCEVersion() << "]\n"
<< String (lastPosInfo.bpm, 2) << " bpm\n"
<< lastPosInfo.timeSigNumerator << '/' << lastPosInfo.timeSigDenominator << "\n"
<< timeToTimecodeString (lastPosInfo.timeInSeconds) << "\n"
<< quarterNotePositionToBarsBeatsString (lastPosInfo.ppqPosition,
<< String (lastPosInfo.bpm, 2) << " bpm\n"
<< lastPosInfo.timeSigNumerator << '/' << lastPosInfo.timeSigDenominator << "\n"
<< timeToTimecodeString (lastPosInfo.timeInSeconds) << "\n"
<< quarterNotePositionToBarsBeatsString (lastPosInfo.ppqPosition,
lastPosInfo.timeSigNumerator, lastPosInfo.timeSigNumerator,
lastPosInfo.timeSigDenominator) << "\n"; lastPosInfo.timeSigDenominator) << "\n";
@@ -257,12 +264,13 @@ private:
void updateSwitchToHostDisplay() void updateSwitchToHostDisplay()
{ {
PluginHostType hostType; PluginHostType hostType;
const bool visible = hostType.isInterAppAudioConnected();
auto visible = hostType.isInterAppAudioConnected();
if (switchToHostButtonLabel.isVisible() != visible) if (switchToHostButtonLabel.isVisible() != visible)
{ {
switchToHostButtonLabel.setVisible (visible); switchToHostButtonLabel.setVisible (visible);
switchToHostButton.setVisible (visible); switchToHostButton.setVisible (visible);
if (visible) if (visible)
{ {
auto icon = hostType.getHostIcon (buttonSize); auto icon = hostType.getHostIcon (buttonSize);
@@ -284,7 +292,7 @@ private:
ShapeButton recordButton {"Record", defaultButtonColour, defaultButtonColour, defaultButtonColour}; ShapeButton recordButton {"Record", defaultButtonColour, defaultButtonColour, defaultButtonColour};
Slider gainSlider; Slider gainSlider;
AudioProcessorValueTreeState::SliderAttachment gainAttachment = {parameters, "gain", gainSlider};
AudioProcessorValueTreeState::SliderAttachment gainAttachment = { parameters, "gain", gainSlider };
std::array<SimpleMeter, 2> meters; std::array<SimpleMeter, 2> meters;


+ 1
- 0
examples/PlugInSamples/InterAppAudioEffect/Source/SimpleMeter.h View File

@@ -72,6 +72,7 @@ private:
auto callbackLevel = maxLevel.exchange (0.0); auto callbackLevel = maxLevel.exchange (0.0);
auto decayFactor = 0.95; auto decayFactor = 0.95;
if (callbackLevel > level) if (callbackLevel > level)
level = callbackLevel; level = callbackLevel;
else if (level > 0.001) else if (level > 0.001)


Loading…
Cancel
Save