JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce_PlatformDefs.h File Reference
This graph shows which files directly or indirectly include this file:

Namespaces

 juce
 

Macros

#define DBG(textToWrite)   JUCE_BLOCK_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << textToWrite; juce::Logger::outputDebugString (tempDbgBuf);)
 Writes a string to the standard error stream. More...
 
#define forcedinline   inline
 A platform-independent way of forcing an inline function. More...
 
#define jassert(expression)   JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)
 Platform-independent assertion macro. More...
 
#define jassertfalse   JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION; if (juce::juce_isRunningUnderDebugger()) JUCE_BREAK_IN_DEBUGGER; JUCE_ANALYZER_NORETURN)
 This will always cause an assertion failure. More...
 
#define JUCE_ALIGN(bytes)   __declspec (align (bytes))
 This can be placed before a stack or member variable declaration to tell the compiler to align it to the specified number of bytes. More...
 
#define JUCE_ANALYZER_NORETURN
 
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x)   do { x } while (false)
 This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it. More...
 
#define JUCE_BREAK_IN_DEBUGGER   { ::kill (0, SIGTRAP); }
 This will try to break into the debugger if the app is currently being debugged. More...
 
#define JUCE_CALLTYPE
 This macro defines the C calling convention used as the standard for JUCE calls. More...
 
#define JUCE_CDECL
 
#define JUCE_COMPILER_WARNING(message)   _Pragma(JUCE_STRINGIFY (JUCE_WARNING_HELPER (message)))
 This macro allows you to emit a custom compiler warning message. More...
 
#define JUCE_DECLARE_DEPRECATED_STATIC(valueDef)
 
#define JUCE_DECLARE_NON_COPYABLE(className)
 This is a shorthand macro for declaring stubs for a class's copy constructor and operator=. More...
 
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
 This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for a class. More...
 
#define JUCE_DEPRECATED(functionDef)
 This macro can be used to wrap a function which has been deprecated. More...
 
#define JUCE_DEPRECATED_STATIC(valueDef)
 
#define JUCE_DEPRECATED_WITH_BODY(functionDef, body)
 
#define JUCE_JOIN_MACRO(item1, item2)   JUCE_JOIN_MACRO_HELPER (item1, item2)
 A good old-fashioned C macro concatenation helper. More...
 
#define JUCE_LOG_CURRENT_ASSERTION   juce::logAssertion (__FILE__, __LINE__);
 
#define JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS   __attribute__((__optimize__("no-associative-math")))
 This can be appended to a function declaration to tell gcc to disable associative math optimisations which break some floating point algorithms. More...
 
#define JUCE_PACKED   __attribute__((packed))
 
#define JUCE_PREVENT_HEAP_ALLOCATION
 This macro can be added to class definitions to disable the use of new/delete to allocate the object on the heap, forcing it to only be used as a stack or member variable. More...
 
#define JUCE_STRINGIFY(item)   JUCE_STRINGIFY_MACRO_HELPER (item)
 A handy C macro for stringifying any symbol, rather than just a macro parameter. More...
 

Macro Definition Documentation

◆ DBG

#define DBG (   textToWrite)    JUCE_BLOCK_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << textToWrite; juce::Logger::outputDebugString (tempDbgBuf);)

◆ forcedinline

◆ jassert

#define jassert (   expression)    JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)

Platform-independent assertion macro.

This macro gets turned into a no-op when you're building with debugging turned off, so be careful that the expression you pass to it doesn't perform any actions that are vital for the correct behaviour of your program!

See also
jassertfalse

Referenced by juce::ChildProcess::ActiveProcess::ActiveProcess(), juce::RectangleList< int >::add(), juce::dsp::AudioBlock< float >::add(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::addArray(), juce::OwnedArray< juce::AudioProcessorParameter >::addCopiesOf(), juce::AudioBuffer< float >::addFrom(), juce::AudioBuffer< float >::addFromWithRamp(), juce::ObjCClass< NSOpenGLView >::addIvar(), juce::ObjCClass< NSOpenGLView >::addMethod(), juce::ObjCClass< NSOpenGLView >::addProtocol(), juce::dsp::AudioBlock< float >::addSample(), juce::AudioBuffer< float >::addSample(), juce::SortedSet< juce::ActionListener *>::addSet(), juce::StatisticsAccumulator< FloatType >::addValue(), juce::dsp::AudioBlock< float >::addWithMultiply(), juce::RectangleList< int >::addWithoutMerging(), juce::dsp::Phase< NumericType >::advance(), juce::AudioBuffer< float >::allocateChannels(), juce::AudioBuffer< float >::allocateData(), CameraDevice::Pimpl::ImageReader::androidImageToJuceWithFixedOrientation(), juce::String::appendCharPointer(), juce::LinkedListPointer< ObjectType >::Appender::Appender(), juce::dsp::Matrix< ElementType >::apply(), juce::ADSR::applyEnvelopeToBuffer(), juce::LinearSmoothedValue< Type >::applyGain(), juce::AudioBuffer< float >::applyGain(), juce::AudioBuffer< float >::applyGainRamp(), juce::dsp::AudioBlock< float >::AudioBlock(), juce::AudioBuffer< float >::AudioBuffer(), juce::LassoComponent< SelectableItemType >::beginLasso(), juce::ADSR::calculateRates(), CameraDevice::Pimpl::CaptureSessionMode< CaptureSessionPreviewMode >::captureSessionConfigured(), juce::dsp::FIR::Filter< SampleType >::check(), VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::checkAllKeysReadyFor(), juce::NormalisableRange< float >::checkInvariants(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::checkSourceIsNotAMember(), CameraDevice::Pimpl::chooseBestSize(), juce::NormalisableRange< float >::clampTo0To1(), juce::AudioBuffer< float >::clear(), juce::AudioFormatReader::clearSamplesBeyondAvailableLength(), juce::RenderingHelpers::EdgeTableFillers::ImageFill< DestPixelType, SrcPixelType, repeatPattern >::clipEdgeTableLine(), juce::RectangleList< int >::clipTo(), juce::ComSmartPtr< ComClass >::CoCreateInstance(), juce::AudioData::ConverterInstance< SourceSampleType, DestSampleType >::convertSamples(), juce::AudioBuffer< float >::copyFrom(), juce::AudioBuffer< float >::copyFromWithRamp(), juce::LinkedListPointer< juce::XmlElement::XmlAttributeNode >::copyToArray(), juce::dsp::SIMDRegister< Type >::copyToRawArray(), littlefoot::LittleFootRemoteHeap< ImplementationClass >::Diff::createChangeMessage(), juce::OpenGLContext::NativeContext::createContext(), juce::OpenGLContext::NativeContext::createGLBuffers(), littlefoot::NativeFunction::createID(), VideoComponent::Pimpl::DirectShowContext::createNativeWindow(), juce::StandalonePluginHolder::createPlugin(), juce::CarbonViewWrapperComponent::createWindow(), juce::ReferenceCountedObject::decReferenceCount(), juce::SingleThreadedReferenceCountedObject::decReferenceCount(), juce::ReferenceCountedObject::decReferenceCountWithoutDeleting(), juce::SingleThreadedReferenceCountedObject::decReferenceCountWithoutDeleting(), VideoComponent::Pimpl::DirectShowContext::deleteNativeWindow(), juce::ArrayAllocationBase< ElementType, TypeOfCriticalSectionToUse >::ensureAllocatedSize(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::ensureAllocatedSize(), juce::InterProcessLock::exit(), juce::SpinLock::exit(), juce::RenderingHelpers::SavedStateBase< SoftwareRendererSavedState >::fillRect(), juce::RenderingHelpers::SavedStateBase< SoftwareRendererSavedState >::fillShape(), juce::RenderingHelpers::SoftwareRendererSavedState::fillWithGradient(), juce::findInsertIndexInSortedArray(), juce::AudioBuffer< float >::findMinMax(), juce::RenderingHelpers::GlyphCache< CachedGlyphType, RenderTargetType >::findOrCreateGlyph(), juce::dsp::SIMDRegister< Type >::fromRawArray(), juce::HashMap< HeavyweightLeakedObjectDetector< OwnerClass > *, String >::generateHashFor(), juce::dsp::SIMDRegister< Type >::get(), VideoComponent::Pimpl::MediaSession::getAudioAttributes(), CameraDevice::Pimpl::CaptureSessionPreviewMode::getCaptureSessionSurfaces(), juce::dsp::AudioBlock< float >::getChannelPointer(), UnityAudioEffectState::getEffectData(), juce::MultiTouchMapper< IDType >::getIndexOfTouch(), juce::RectangleList< int >::getIntersectionWith(), juce::AudioBuffer< float >::getMagnitude(), littlefoot::Runner< programAndHeapSpace, stackAndGlobalsSpace >::getNativeFunction(), juce::AudioBuffer< float >::getReadPointer(), juce::AudioBuffer< float >::getRMSLevel(), juce::dsp::AudioBlock< float >::getSample(), juce::AudioBuffer< float >::getSample(), juce::WeakReference< ObjectType, ReferenceCountingType >::Master::getSharedPointer(), juce::dsp::AudioBlock< float >::getSingleChannelBlock(), juce::dsp::AudioBlock< float >::getSubBlock(), juce::dsp::AudioBlock< float >::getSubsetChannelBlock(), juce::OpenGLContext::NativeContext::getSwapInterval(), juce::dsp::LookupTable< Type >::getUnchecked(), juce::AudioBuffer< float >::getWritePointer(), VideoComponent::Pimpl::DirectShowContext::graphEventProc(), juce::RenderingHelpers::EdgeTableFillers::ImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLine(), juce::RenderingHelpers::EdgeTableFillers::ImageFill< DestPixelType, SrcPixelType, repeatPattern >::handleEdgeTableLineFull(), juce::HiddenMessageWindow::HiddenMessageWindow(), littlefoot::NativeFunction::indexOfSlash(), juce::OpenGLContext::NativeContext::initialiseOnRenderThread(), juce::LinkedListPointer< juce::XmlElement::XmlAttributeNode >::insertAtIndex(), juce::LinkedListPointer< juce::XmlElement::XmlAttributeNode >::insertNext(), juce::BlocksProtocol::IntegerWithBitSize< 8 >::IntegerWithBitSize(), juce::CharPointer_UTF8::isByteOrderMark(), juce::CharPointer_UTF16::isByteOrderMarkBigEndian(), juce::CharPointer_UTF16::isByteOrderMarkLittleEndian(), juce::isPositiveAndBelow(), juce::isPositiveAndNotGreaterThan(), juce::EdgeTable::iterate(), juce::RenderingHelpers::ClipRegions< SavedStateType >::RectangleListRegion::iterate(), juce::jlimit(), juce::jmap(), juce::RenderingHelpers::GradientPixelIterators::Linear::Linear(), VideoComponent::Pimpl::loadAsync(), VideoComponent::Pimpl::DirectShowContext::loadFile(), juce::OpenGLContext::NativeContext::makeActive(), juce::dsp::AudioBlock< float >::max(), juce::MidiMessage::MidiMessage(), juce::dsp::AudioBlock< float >::min(), juce::Draggable3DOrientation::mousePosToProportion(), juce::dsp::AudioBlock< float >::move(), juce::dsp::AudioBlock< float >::multiply(), juce::OpenGLContext::NativeContext::NativeContext(), VideoComponent::Pimpl::DirectShowContext::NativeWindow::NativeWindow(), VideoComponent::Pimpl::DirectShowContext::NativeWindowClass::NativeWindowClass(), juce::negativeAwareModulo(), juce::Quaternion< float >::normalised(), CameraDevice::Pimpl::open(), juce::MemoryMappedFile::openInternal(), juce::dsp::Matrix< ElementType >::operator()(), juce::ReferenceCountedObjectPtr< juce::ReferenceCountedObject >::operator*(), juce::CharPointer_UTF8::operator++(), juce::ReferenceCountedObjectPtr< juce::ReferenceCountedObject >::operator->(), juce::LinkedListPointer< juce::XmlElement::XmlAttributeNode >::operator=(), juce::ScopedPointer< juce::Component >::operator=(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::operator[](), juce::dsp::SIMDRegister< Type >::operator[](), CameraDevice::Pimpl::DeviceOrientationChangeListener::orientationChanged(), juce::LassoComponent< SelectableItemType >::paint(), VideoComponent::Pimpl::Pimpl(), juce::dsp::Polynomial< FloatingType >::Polynomial(), juce::dsp::FIR::Filter< SampleType >::prepare(), CameraDevice::Pimpl::CaptureSessionMode< CaptureSessionPreviewMode >::previewDisplayReady(), juce::dsp::ProcessorDuplicator< MonoProcessorType, StateType >::process(), juce::dsp::Reverb::process(), juce::dsp::LadderFilter< Type >::process(), juce::dsp::Gain< FloatType >::process(), juce::dsp::Bias< FloatType >::process(), juce::dsp::Oscillator< SampleType >::process(), juce::dsp::FIR::Filter< SampleType >::process(), juce::dsp::AudioBlock< float >::process(), juce::dsp::StateVariableFilter::Filter< SampleType >::processInternal(), juce::Reverb::processMono(), juce::dsp::Oscillator< SampleType >::processSample(), juce::dsp::LookupTableTransform< Type >::processSample(), juce::dsp::LookupTableTransform< Type >::processSampleUnchecked(), juce::Reverb::processStereo(), littlefoot::Program::Program(), juce::RenderingHelpers::GradientPixelIterators::Radial::Radial(), juce::ChildProcess::ActiveProcess::read(), juce::BlocksProtocol::Packed7BitArrayReader::readBits(), juce::ListenerList< juce::TextEditor::Listener >::remove(), juce::Array< juce::File >::remove(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::removeElements(), juce::Array< juce::File >::removeLast(), juce::SparseSet< int >::removeRange(), juce::LinkedListPointer< juce::XmlElement::XmlAttributeNode >::replaceNext(), juce::dsp::AudioBlock< float >::replaceWithAbsoluteValueOf(), juce::dsp::AudioBlock< float >::replaceWithNegativeOf(), juce::LinearSmoothedValue< Type >::reset(), juce::ScopedPointer< juce::Component >::reset(), juce::Array< juce::File >::resize(), CameraDevice::Pimpl::StreamConfigurationMap::retrieveOutputSizes(), juce::AudioBuffer< float >::reverse(), littlefoot::Runner< programAndHeapSpace, stackAndGlobalsSpace >::FunctionExecutionContext::run(), juce::dsp::SIMDRegister< Type >::set(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::setAllocatedSize(), juce::dsp::Bias< FloatType >::setBias(), juce::dsp::StateVariableFilter::Parameters< NumericType >::setCutOffFrequency(), juce::AudioBuffer< float >::setDataToReferTo(), juce::RenderingHelpers::EdgeTableFillers::ImageFill< DestPixelType, SrcPixelType, repeatPattern >::setEdgeTableYPos(), juce::CarbonViewWrapperComponent::setEmbeddedWindowToOurSize(), littlefoot::Runner< programAndHeapSpace, stackAndGlobalsSpace >::FunctionExecutionContext::setError(), juce::dsp::AudioBlock< float >::setSample(), juce::AudioBuffer< float >::setSample(), juce::ADSR::setSampleRate(), juce::Reverb::setSampleRate(), juce::AudioBuffer< float >::setSize(), juce::NormalisableRange< float >::setSkewForCentre(), juce::RenderingHelpers::EdgeTableFillers::TransformedImageFill< DestPixelType, SrcPixelType, repeatPattern >::TransformedImageSpanInterpolator::setStartOfLine(), juce::OpenGLContext::NativeContext::setSwapInterval(), juce::Array< juce::File >::setUnchecked(), juce::OpenGLContext::NativeContext::shutdownOnRenderThread(), juce::CharPointer_UTF8::sizeInBytes(), juce::sortArray(), juce::GridItem::Span::Span(), CameraDevice::Pimpl::startPreviewMode(), CameraDevice::Pimpl::startRecordingToFile(), CameraDevice::Pimpl::startVideoRecordingMode(), CameraDevice::Pimpl::stopBackgroundThread(), juce::dsp::AudioBlock< float >::subtract(), juce::ScopedPointer< juce::Component >::swapWith(), CameraDevice::Pimpl::takeStillPicture(), CameraDevice::Pimpl::CaptureSession::takeStillPicture(), juce::HeapBlock< juce::AudioDeviceManager::AudioDeviceSetup *>::throwOnAllocationFailure(), juce::String::toDecimalStringWithSignificantFigures(), juce::RenderingHelpers::TranslationOrTransform::transformed(), juce::RenderingHelpers::TranslationOrTransform::translated(), juce::truncatePositiveToUnsignedInt(), juce::TouchList< Type >::updateTouch(), juce::ValueWithDefault::varArrayToDelimitedString(), juce::varArrayToNSArray(), juce::OpenGLContext::NativeContext::wglChoosePixelFormatExtension(), juce::Range< int64 >::withStartAndLength(), juce::BlocksProtocol::Packed7BitArrayBuilder< maxPacketBytes >::writeBits(), juce::BlocksProtocol::Packed7BitArrayBuilder< maxPacketBytes >::writeHeaderSysexBytes(), juce::BlocksProtocol::Packed7BitArrayBuilder< maxPacketBytes >::writePacketSysexFooter(), juce::BlocksProtocol::HostPacketBuilder< maxPacketBytes >::writePacketSysexHeaderBytes(), juce::CarbonViewWrapperComponent::~CarbonViewWrapperComponent(), juce::WeakReference< ObjectType, ReferenceCountingType >::Master::~Master(), juce::HighResolutionTimer::Pimpl::~Pimpl(), juce::ReferenceCountedObject::~ReferenceCountedObject(), juce::SingleThreadedReferenceCountedObject::~SingleThreadedReferenceCountedObject(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::~SingletonHolder(), and CameraDevice::Pimpl::CaptureSession::VideoRecorder::~VideoRecorder().

◆ jassertfalse

This will always cause an assertion failure.

It is only compiled in a debug build, (unless JUCE_LOG_ASSERTIONS is enabled for your build).

See also
jassert

Referenced by juce::ListenerList< juce::TextEditor::Listener >::add(), juce::ArrayBase< IIRCoefficients *, DummyCriticalSection >::addArray(), juce::OwnedArray< juce::AudioProcessorParameter >::addCopiesOf(), CameraDevice::Pimpl::PreviewDisplay::addListener(), CameraDevice::Pimpl::CaptureSession::addOutputIfPossible(), juce::SortedSet< juce::ActionListener *>::addSet(), CameraDevice::Pimpl::ScopedCameraDevice::createCaptureSession(), VideoComponent::Pimpl::DirectShowContext::createNativeWindow(), CameraDevice::Pimpl::CaptureSession::createPreviewLayer(), CameraDevice::Pimpl::CaptureSession::StillPictureTaker::PhotoOutputDelegateClass::didFinishProcessingPhoto(), CameraDevice::Pimpl::CaptureSession::StillPictureTaker::PhotoOutputDelegateClass::didFinishProcessingPhotoSampleBuffer(), juce::UUIDGetter< Type >::get(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get(), littlefoot::LittleFootRemoteHeap< ImplementationClass >::getByte(), littlefoot::Runner< programAndHeapSpace, stackAndGlobalsSpace >::getHeapBits(), CameraDevice::Pimpl::ImageReader::getImageBufferWithCorrectedOrientationFrom(), CameraDevice::Pimpl::CaptureSession::StillPictureTaker::PhotoOutputDelegateClass::getImageWithCorrectOrientation(), littlefoot::Program::getNumExtraBytesForOpcode(), CameraDevice::Pimpl::MediaRecorder::getOrientationHint(), CameraDevice::Pimpl::CaptureSession::StillPictureTaker::PhotoOutputDelegateClass::getTargetImageDimensionFor(), VideoComponent::Pimpl::MediaSession::Player::getVideoNativeSize(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleButtonDownOrUp(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleCustomMessage(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleFirmwareUpdateACK(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handlePacketACK(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopology(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTopologyEnd(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTouch(), juce::BlocksProtocol::HostPacketDecoder< Handler >::handleTouchWithVelocity(), juce::OpenGLContext::NativeContext::initEGLDisplay(), juce::OpenGLContext::NativeContext::initialiseOnRenderThread(), juce::Thread::killThread(), juce::Thread::launchThread(), VideoComponent::Pimpl::loadAsync(), juce::AudioProcessor::memoryWarningReceived(), juce::JUCEApplicationBase::memoryWarningReceived(), juce::OpenGLContext::NativeContext::NativeContext(), juce::nsObjectToVar(), CameraDevice::Pimpl::open(), VideoComponent::Pimpl::MediaSession::Player::pause(), VideoComponent::Pimpl::MediaSession::Player::play(), juce::dsp::Reverb::process(), juce::dsp::StateVariableFilter::Filter< SampleType >::processInternal(), juce::BlocksProtocol::HostPacketDecoder< Handler >::processNextMessage(), juce::BlocksProtocol::HostPacketDecoder< Handler >::processNextPacket(), juce::dsp::StateVariableFilter::Filter< SampleType >::processSample(), littlefoot::Runner< programAndHeapSpace, stackAndGlobalsSpace >::reinitialiseProgramLayoutIfProgramHasChanged(), juce::Array< juce::File >::remove(), CameraDevice::Pimpl::PreviewDisplay::removeListener(), juce::RenderingHelpers::SavedStateStack< SavedStateType >::restore(), CameraDevice::Pimpl::StreamConfigurationMap::retrieveOutputSizes(), juce::OwnedArray< juce::AudioProcessorParameter >::set(), juce::Array< juce::File >::set(), VideoComponent::Pimpl::MediaSession::Player::setAudioVolume(), littlefoot::LittleFootRemoteHeap< ImplementationClass >::setBits(), littlefoot::LittleFootRemoteHeap< ImplementationClass >::setByte(), juce::Thread::setCurrentThreadAffinityMask(), CameraDevice::Pimpl::DeviceOrientationChangeListener::setEnabled(), VideoComponent::Pimpl::MediaSession::Player::setPlayPosition(), VideoComponent::Pimpl::MediaSession::Player::setPlaySpeed(), juce::HighResolutionTimer::Pimpl::start(), CameraDevice::Pimpl::ScopedCameraDevice::CaptureSession::start(), CameraDevice::Pimpl::CaptureSession::startRecording(), CameraDevice::Pimpl::startRecordingToFile(), CameraDevice::Pimpl::CaptureSessionMode< CaptureSessionPreviewMode >::startSession(), CameraDevice::Pimpl::CaptureSession::StillPictureTaker::takePicture(), CameraDevice::Pimpl::takeStillPicture(), CameraDevice::Pimpl::ScopedCameraDevice::CaptureSession::takeStillPicture(), CameraDevice::Pimpl::CaptureSessionVideoRecordingMode::takeStillPicture(), CameraDevice::Pimpl::triggerImageCapture(), CameraDevice::Pimpl::CaptureSessionMode< CaptureSessionPreviewMode >::triggerStillPictureCapture(), VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::JucePlayerItemPreparationStatusObserverClass::valueChanged(), juce::HeavyweightLeakedObjectDetector< OwnerClass >::BacktraceMapHolder::~BacktraceMapHolder(), juce::LeakedObjectDetector< OwnerClass >::LeakCounter::~LeakCounter(), and juce::LeakedObjectDetector< OwnerClass >::~LeakedObjectDetector().

◆ JUCE_ALIGN

#define JUCE_ALIGN (   bytes)    __declspec (align (bytes))

This can be placed before a stack or member variable declaration to tell the compiler to align it to the specified number of bytes.

◆ JUCE_ANALYZER_NORETURN

#define JUCE_ANALYZER_NORETURN

◆ JUCE_BLOCK_WITH_FORCED_SEMICOLON

#define JUCE_BLOCK_WITH_FORCED_SEMICOLON (   x)    do { x } while (false)

This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it.

◆ JUCE_BREAK_IN_DEBUGGER

#define JUCE_BREAK_IN_DEBUGGER   { ::kill (0, SIGTRAP); }

This will try to break into the debugger if the app is currently being debugged.

If called by an app that's not being debugged, the behaviour isn't defined - it may crash or not, depending on the platform.

See also
jassert()

◆ JUCE_CALLTYPE

◆ JUCE_CDECL

#define JUCE_CDECL

◆ JUCE_COMPILER_WARNING

#define JUCE_COMPILER_WARNING (   message)    _Pragma(JUCE_STRINGIFY (JUCE_WARNING_HELPER (message)))

This macro allows you to emit a custom compiler warning message.

Very handy for marking bits of code as "to-do" items, or for shaming code written by your co-workers in a way that's hard to ignore.

GCC and Clang provide the #warning directive, but MSVC doesn't, so this macro is a cross-compiler way to get the same functionality as #warning.

◆ JUCE_DECLARE_DEPRECATED_STATIC

#define JUCE_DECLARE_DEPRECATED_STATIC (   valueDef)

◆ JUCE_DECLARE_NON_COPYABLE

◆ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR

#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (   className)

◆ JUCE_DEPRECATED

#define JUCE_DEPRECATED (   functionDef)

◆ JUCE_DEPRECATED_STATIC

◆ JUCE_DEPRECATED_WITH_BODY

◆ JUCE_JOIN_MACRO

#define JUCE_JOIN_MACRO (   item1,
  item2 
)    JUCE_JOIN_MACRO_HELPER (item1, item2)

A good old-fashioned C macro concatenation helper.

This combines two items (which may themselves be macros) into a single string, avoiding the pitfalls of the ## macro operator.

◆ JUCE_LOG_CURRENT_ASSERTION

#define JUCE_LOG_CURRENT_ASSERTION   juce::logAssertion (__FILE__, __LINE__);

◆ JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS

#define JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS   __attribute__((__optimize__("no-associative-math")))

This can be appended to a function declaration to tell gcc to disable associative math optimisations which break some floating point algorithms.

◆ JUCE_PACKED

#define JUCE_PACKED   __attribute__((packed))

◆ JUCE_PREVENT_HEAP_ALLOCATION

#define JUCE_PREVENT_HEAP_ALLOCATION
Value:
private: \
static void* operator new (size_t) = delete; \
static void operator delete (void*) = delete;

This macro can be added to class definitions to disable the use of new/delete to allocate the object on the heap, forcing it to only be used as a stack or member variable.

◆ JUCE_STRINGIFY

#define JUCE_STRINGIFY (   item)    JUCE_STRINGIFY_MACRO_HELPER (item)

A handy C macro for stringifying any symbol, rather than just a macro parameter.