/* * Carla Plugin Host * Copyright (C) 2011-2014 Filipe Coelho * * 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 "CarlaHost.h" #include "CarlaString.hpp" #include "juce_audio_formats.h" // ------------------------------------------------------------------------------------------------------------------- const char* carla_get_complete_license_text() { carla_debug("carla_get_complete_license_text()"); static CarlaString retText; if (retText.isEmpty()) { retText = "

This current Carla build is using the following features and 3rd-party code:

" "" "

" #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) || ! defined(VESTIGE_HEADER) // Required by VST SDK " [1] Trademark of Steinberg Media Technologies GmbH.
" #endif #ifdef HAVE_LINUXSAMPLER // LinuxSampler GPL exception " [2] Using LinuxSampler code in commercial hardware or software products is not allowed without prior written authorization by the authors." #endif "

" ; } return retText; } const char* carla_get_juce_version() { carla_debug("carla_get_juce_version()"); static CarlaString retVersion; if (retVersion.isEmpty()) { if (const char* const version = juce::SystemStats::getJUCEVersion().toRawUTF8()) retVersion = version+6; else retVersion = "3.0"; } return retVersion; } const char* carla_get_supported_file_extensions() { carla_debug("carla_get_supported_file_extensions()"); static CarlaString retText; if (retText.isEmpty()) { retText = // Base types "*.carxp;*.carxs" // MIDI files ";*.mid;*.midi" #ifdef HAVE_FLUIDSYNTH // fluidsynth (sf2) ";*.sf2" #endif #ifdef HAVE_LINUXSAMPLER // linuxsampler (gig and sfz) ";*.gig;*.sfz" #endif #ifdef WANT_ZYNADDSUBFX // zynaddsubfx presets ";*.xmz;*.xiz" #endif ; #ifndef BUILD_BRIDGE // Audio files { using namespace juce; AudioFormatManager afm; afm.registerBasicFormats(); String juceFormats; for (AudioFormat **it=afm.begin(), **end=afm.end(); it != end; ++it) { const StringArray& exts((*it)->getFileExtensions()); for (String *eit=exts.begin(), *eend=exts.end(); eit != eend; ++eit) juceFormats += String(";*" + (*eit)).toRawUTF8(); } retText += juceFormats.toRawUTF8(); } #endif } return retText; } // -------------------------------------------------------------------------------------------------------------------