VST3: fetch midi mappings all at once, use it for note/sound-off
[carla.git] / source / modules / juce_audio_processors / utilities / ARA / juce_ARAPlugInInstanceRoles.cpp
blobfcece498b55a0c60a92ce59aa2f1717f5b9c1f45
1 /*
2 ==============================================================================
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
23 ==============================================================================
26 #include "juce_ARAPlugInInstanceRoles.h"
28 namespace juce
31 bool ARARenderer::processBlock (AudioBuffer<double>& buffer,
32 AudioProcessor::Realtime realtime,
33 const AudioPlayHead::PositionInfo& positionInfo) noexcept
35 ignoreUnused (buffer, realtime, positionInfo);
37 // If you hit this assertion then either the caller called the double
38 // precision version of processBlock on a processor which does not support it
39 // (i.e. supportsDoublePrecisionProcessing() returns false), or the implementation
40 // of the ARARenderer forgot to override the double precision version of this method
41 jassertfalse;
43 return false;
46 //==============================================================================
47 #if ARA_VALIDATE_API_CALLS
48 void ARAPlaybackRenderer::addPlaybackRegion (ARA::ARAPlaybackRegionRef playbackRegionRef) noexcept
50 if (araExtension)
51 ARA_VALIDATE_API_STATE (! araExtension->isPrepared);
53 ARA::PlugIn::PlaybackRenderer::addPlaybackRegion (playbackRegionRef);
56 void ARAPlaybackRenderer::removePlaybackRegion (ARA::ARAPlaybackRegionRef playbackRegionRef) noexcept
58 if (araExtension)
59 ARA_VALIDATE_API_STATE (! araExtension->isPrepared);
61 ARA::PlugIn::PlaybackRenderer::removePlaybackRegion (playbackRegionRef);
63 #endif
65 //==============================================================================
66 void ARAEditorView::doNotifySelection (const ARA::PlugIn::ViewSelection* viewSelection) noexcept
68 listeners.call ([&] (Listener& l)
70 l.onNewSelection (*viewSelection);
71 });
74 void ARAEditorView::doNotifyHideRegionSequences (std::vector<ARA::PlugIn::RegionSequence*> const& regionSequences) noexcept
76 listeners.call ([&] (Listener& l)
78 l.onHideRegionSequences (ARA::vector_cast<ARARegionSequence*> (regionSequences));
79 });
82 void ARAEditorView::addListener (Listener* l)
84 listeners.add (l);
87 void ARAEditorView::removeListener (Listener* l)
89 listeners.remove (l);
92 } // namespace juce