/* * Carla Plugin Host * Copyright (C) 2011-2023 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. */ #pragma once #include "CarlaBackend.h" #ifdef __cplusplus using CARLA_BACKEND_NAMESPACE::PluginType; extern "C" { #endif // -------------------------------------------------------------------------------------------------------------------- typedef struct { const char* command; const char* name; const char* labelSetup; } JackAppDialogResults; typedef struct _HostSettings { bool showPluginBridges; bool showWineBridges; bool useSystemIcons; bool wineAutoPrefix; const char* wineExecutable; const char* wineFallbackPrefix; } HostSettings; typedef struct { uint build; uint type; uint hints; const char* category; const char* filename; const char* name; const char* label; const char* maker; uint64_t uniqueId; uint audioIns; uint audioOuts; uint cvIns; uint cvOuts; uint midiIns; uint midiOuts; uint parameterIns; uint parameterOuts; } PluginListDialogResults; struct PluginListDialog; // -------------------------------------------------------------------------------------------------------------------- CARLA_PLUGIN_EXPORT void carla_frontend_createAndExecAboutJuceDialog(void* parent); CARLA_PLUGIN_EXPORT const JackAppDialogResults* carla_frontend_createAndExecJackAppDialog(void* parent, const char* projectFilename); CARLA_PLUGIN_EXPORT PluginListDialog* carla_frontend_createPluginListDialog(void* parent, const HostSettings* hostSettings); CARLA_PLUGIN_EXPORT void carla_frontend_destroyPluginListDialog(PluginListDialog* dialog); // TODO get favorites CARLA_PLUGIN_EXPORT void carla_frontend_setPluginListDialogPath(PluginListDialog* dialog, int ptype, const char* path); CARLA_PLUGIN_EXPORT const PluginListDialogResults* carla_frontend_execPluginListDialog(PluginListDialog* dialog); // CARLA_PLUGIN_EXPORT const PluginListDialogResults* // carla_frontend_createAndExecPluginListDialog(void* parent, const HostSettings* hostSettings); // -------------------------------------------------------------------------------------------------------------------- #ifdef __cplusplus } #endif