|  | /*
 * Carla Plugin Host
 * Copyright (C) 2011-2020 Filipe Coelho <falktx@falktx.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * For a full copy of the GNU General Public License see the doc/GPL.txt file.
 */
#include "CarlaUtils.h"
#include "CarlaUtils.hpp"
#ifdef USING_JUCE
// -------------------------------------------------------------------------------------------------------------------
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
#endif
#include "AppConfig.h"
#include "juce_events/juce_events.h"
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#endif
// -------------------------------------------------------------------------------------------------------------------
void carla_juce_init()
{
    juce::initialiseJuce_GUI();
#if !(defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN))
    juce::MessageManager::getInstance()->setCurrentThreadAsMessageThread();
#endif
}
void carla_juce_idle()
{
#if !(defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN))
    const juce::MessageManager* const msgMgr(juce::MessageManager::getInstanceWithoutCreating());
    CARLA_SAFE_ASSERT_RETURN(msgMgr != nullptr,);
    for (; msgMgr->dispatchNextMessageOnSystemQueue(true);) {}
#endif
}
void carla_juce_cleanup()
{
    juce::shutdownJuce_GUI();
}
// -------------------------------------------------------------------------------------------------------------------
#else // USING_JUCE
// -------------------------------------------------------------------------------------------------------------------
void carla_juce_init() {}
void carla_juce_idle() {}
void carla_juce_cleanup() {}
// -------------------------------------------------------------------------------------------------------------------
#endif // USING_JUCE
 |