Commit e544a7b3 authored by Benjamin Heisch's avatar Benjamin Heisch
Browse files

Changed Name from XPlug to APAL because XPlug... sounds kind of strange and...

Changed Name from XPlug to APAL because XPlug... sounds kind of strange and APAL has a better fitting meaning.
parent 3e50f1ae
Pipeline #19424 passed with stages
in 6 minutes and 9 seconds
cmake_minimum_required (VERSION 3.13)
project(XPlug)
project(APAL)
##########INCLUDES############
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
......@@ -15,37 +15,37 @@ include(symbol_export)
include(GenerateExportHeader)
#########Settings#############
option(XPLUG_BUILD_EXAMPLES "Build Examples" ON)
option(XPLUG_BUILD_DOC "Build Documentation" OFF)
option(XPLUG_BUILD_TESTS "Build and installs tests,which can be reused and are used in the examples." ON)
#option(XPLUG_USE_PLUGINVAL "Adds CMAKE Tests, which uses pluginval" ON)
option(APAL_BUILD_EXAMPLES "Build Examples" ON)
option(APAL_BUILD_DOC "Build Documentation" OFF)
option(APAL_BUILD_TESTS "Build and installs tests,which can be reused and are used in the examples." ON)
#option(APAL_USE_PLUGINVAL "Adds CMAKE Tests, which uses pluginval" ON)
#########################Set Supported Format Variables###########################
## Here add maybe an detect if feature is build ready macro or function.
option(XPLUG_AU_SUPPORT "Support vor AU" OFF)
option(XPLUG_JACK_SUPPORT "IS JACK SUPPORTED?" ${JACK_FOUND})
option(APAL_AU_SUPPORT "Support vor AU" OFF)
option(APAL_JACK_SUPPORT "IS JACK SUPPORTED?" ${JACK_FOUND})
option(XPLUG_INSTALL "Install Xplug and Examples, if Build" ON)
option(APAL_INSTALL "Install APAL and Examples, if Build" ON)
set_version(0 1 0)
#####################BUILD######################
if(XPLUG_BUILD_TESTS)
if(APAL_BUILD_TESTS)
enable_testing()
add_subdirectory(test)
endif(XPLUG_BUILD_TESTS)
endif(APAL_BUILD_TESTS)
add_subdirectory(formats)
if(XPLUG_BUILD_EXAMPLES)
if(APAL_BUILD_EXAMPLES)
add_subdirectory(examples)
endif(XPLUG_BUILD_EXAMPLES)
endif(APAL_BUILD_EXAMPLES)
add_subdirectory(include)
......@@ -53,43 +53,43 @@ add_subdirectory(src)
add_subdirectory(deps)
add_library(XPlug STATIC ${XPLUG_INCLUDE_FILES} ${XPLUG_SOURCE_FILES} )
add_library(APAL STATIC ${APAL_INCLUDE_FILES} ${APAL_SOURCE_FILES} )
target_link_libraries(XPlug PUBLIC ${CMAKE_DL_LIBS})
set_target_properties(XPlug PROPERTIES POSITION_INDEPENDENT_CODE True VERSION ${XPlug_VERSION_MAJOR})
target_compile_features(XPlug PUBLIC cxx_std_14)
target_link_libraries(APAL PUBLIC ${CMAKE_DL_LIBS})
set_target_properties(APAL PROPERTIES POSITION_INDEPENDENT_CODE True VERSION ${APAL_VERSION_MAJOR})
target_compile_features(APAL PUBLIC cxx_std_14)
EXPORT_SYMBOLS(XPlug FUNCTION_NAMES "XPlugGetVersion")
GENERATE_EXPORT_HEADER(XPlug)
GENERATE_VERSION_HEADER(XPlug VISIBILITY PRIVATE)
target_include_directories(XPlug PUBLIC
EXPORT_SYMBOLS(APAL FUNCTION_NAMES "APALGetVersion")
GENERATE_EXPORT_HEADER(APAL)
GENERATE_VERSION_HEADER(APAL VISIBILITY PRIVATE)
target_include_directories(APAL PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
$<INSTALL_INTERFACE:include> )
target_include_directories(XPlug PUBLIC
target_include_directories(APAL PUBLIC
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated>
$<INSTALL_INTERFACE:include> )
if(XPLUG_INSTALL)
if(APAL_INSTALL)
install(TARGETS XPlug EXPORT XPlugExport DESTINATION lib)
install(EXPORT XPlugExport NAMESPACE XPlug:: DESTINATION cmake)
install(TARGETS APAL EXPORT APALExport DESTINATION lib)
install(EXPORT APALExport NAMESPACE APAL:: DESTINATION cmake)
install(FILES cmake/FindJack.cmake
cmake/Findpluginval.cmake
cmake/FindTortureTester.cmake
DESTINATION cmake)
set(CPACK_PACKAGE_NAME "XPlug")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "XPlug a Crossplattform audioplugin abstraction library")
set(CPACK_PACKAGE_DESCRIPTION "XPlug a Crossplattform audioplugin abstraction library")
set(CPACK_PACKAGE_NAME "APAL")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "APAL a Crossplattform audioplugin abstraction library")
set(CPACK_PACKAGE_DESCRIPTION "APAL a Crossplattform audioplugin abstraction library")
set(CPACK_PACKAGE_VENDOR "Benjamin Heisch")
#set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
#set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${XPlug_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${XPlug_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${XPlug_VERSION_PATCH})
set(CPACK_PACKAGE_VERSION_MAJOR ${APAL_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${APAL_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${APAL_VERSION_PATCH})
set(CPACK_PACKAGE_CONTACT "Benjamin Heisch")
#set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
#SET(CPACK_DEBIAN_PACKAGE_DEPENDS libc6 (>= 2.7-18) )
include(CPack)
endif(XPLUG_INSTALL)
endif(APAL_INSTALL)
# XPlug
XPlug is an crossplatform audio abstraction plugin, which is currently under heavy development.
# APAL
APAL is an crossplatform audio abstraction plugin, which is currently under heavy development.
At the moment it supports VST2, VST3, LV2 and LADSPA. But there are a lot more to come, because its made for adding more Formats to it.
Because its in an early phase of development it just supports audio and midi processing ( sure a lot more too, but that are details).
There should be GUI and Parameter support soon, so that this Library can be used in production. 6
## Dependencies
Before building XPlug make sure, that all dependencies are installed. For the buildprocess you need CMake and an compiler.
Before building APAL make sure, that all dependencies are installed. For the buildprocess you need CMake and an compiler.
To install optional dependencies like VST3, LV2 and some other test-utilities execute the install-script in the scripts folder.
Execute the script, which matches your plattform (sh for unix like operatingsystems and bat for windows). You can also just call
the crossplattformway with cmake and execute the following commands in your terminal:
......@@ -26,7 +26,7 @@ cmake -DINSTALL_PREFIX=build/deps -DBUILD_DIR=build/deps -P scripts/install.cmak
# Building
To Build XPlug, you can just use the standard CMake behaviour (Make sure, that the required dependencies are installed).
To Build APAL, you can just use the standard CMake behaviour (Make sure, that the required dependencies are installed).
An Insource build from commandline, started in the root directory can look like:
mkdir build
cd build
......@@ -37,26 +37,26 @@ If you also want to install everything just execute the follwing command in the
cmake --build . --target install
if you use Visual Studio with generated Project Files, this may fail. If it does execute the Solution as Administrator and execute the INSTALL-Project.
You can also just add XPlug to your Repository and build it along with your Project. But make sure, that cmake finds the Modules, so the cmake functionality is also available for your Project.
You can also just add APAL to your Repository and build it along with your Project. But make sure, that cmake finds the Modules, so the cmake functionality is also available for your Project.
# Using XPlug
To use XPlug you have to link the needed Libraries wiht your Plugin. You have to link the xplug-library and the needed format libraries.
If you want to build a Plugin, with support VST2,3 and LV2 then link your library with xplug vst2 vst3 and lv2 libraries.If you have seperated binaries for each format, than add your source multiple times and link xplug and just the formats you want to support in that plugin.
# Using APAL
To use APAL you have to link the needed Libraries wiht your Plugin. You have to link the APAL-library and the needed format libraries.
If you want to build a Plugin, with support VST2,3 and LV2 then link your library with APAL vst2 vst3 and lv2 libraries.If you have seperated binaries for each format, than add your source multiple times and link APAL and just the formats you want to support in that plugin.
If you link properly you can than just derive from IPlugin and implement the whole components yourself, or just use LazyPlugin as a starting point, like in the examples.
The API should behave same, but there are some differences in the implementation.
The examples are a good starting Point to get your Hands dirty, so look there if you want to know more.
# Thinks you may should know
# How to use XPlug
XPlug is build around an internal API, which unifies the audiopluginformats. To make the use of this API, there are a lot of things already implemeneted.
# How to use APAL
APAL is build around an internal API, which unifies the audiopluginformats. To make the use of this API, there are a lot of things already implemeneted.
The API consists of an IPlugin and the IPlugin give access to multiple components. But you dont have to implement them all. In the examples the LazyPlugin is used.
The LazyPlugin as an example just uses 3 already written components, which match this lets just get started approach. You can combine the components as you want, it could depent on your goal.
To get more information about the different implementation look in the Sourcecode documentation of the different classes. (The source-code generated doxygen comments are comming soon. Just be a little patient.)
# About the internal API
This Information are usefull if you want to work with the API. If you just want to write cool Audioplugins, pick the right implementations and start programming your idea.
XPlug is mainly an API, which unifies the audiopluginformats. So thats IPlugin. Because Audioplugin are quiet complicated right now, the functinality is seperated in components.
APAL is mainly an API, which unifies the audiopluginformats. So thats IPlugin. Because Audioplugin are quiet complicated right now, the functinality is seperated in components.
IPlugin just manage all this components(... to be honest, in the most cases it just hold the references of the components).
The portcomponent is an very important one, because it manages the in and outputdata like MIDI and audio, which is represented by an IPort interface.
The use of the direct portcomponent may not feel that great so... just use it like in the examples. Or do something fancy and share it with us.
......
find_package(pluginval)
find_package(TortureTester)
find_package(VST3)
set(__DIR_OF_XPLUG_CMAKE ${CMAKE_CURRENT_LIST_DIR})
set(__DIR_OF_APAL_CMAKE ${CMAKE_CURRENT_LIST_DIR})
###########################HELPER_FUNCTIONS##############################
# Getting a String of the current architecture(Which is Vst3-Naming compliant)
# The Architecture stirng will be written in the ARCHITECTURE_NAME Variable.
......@@ -74,7 +74,7 @@ function(create_vst3_package)
COMMAND ${CMAKE_COMMAND} -E make_directory ${VST3_PACKAGE_ROOT}/Contents/Resources
COMMAND ${CMAKE_COMMAND} -E make_directory ${VST3_PACKAGE_ROOT}/Contents/${ARCHITECTURE_NAME}
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TARGET}> ${VST3_PACKAGE_ROOT}/Contents/${ARCHITECTURE_NAME}/$<TARGET_FILE_NAME:${TARGET}>
COMMAND ${CMAKE_COMMAND} -E copy ${__DIR_OF_XPLUG_CMAKE}/speaker.ico ${VST3_PACKAGE_ROOT}/Plugin.ico)
COMMAND ${CMAKE_COMMAND} -E copy ${__DIR_OF_APAL_CMAKE}/speaker.ico ${VST3_PACKAGE_ROOT}/Plugin.ico)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows" OR ${CMAKE_SYSTEM_NAME} STREQUAL "MSYS")
file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated_desktop.ini CONTENT "[.ShellClassInfo]\nIconResource=Plugin.ico,0")
set(WINDOWS_EXTRA_DIR "/${ARCHITECTURE_NAME}/")
......
/*
* IMPORTANT: The author of XPlug has no connection with the
* IMPORTANT: The author of APAL has no connection with the
* author of the VeSTige VST-compatibility header, has had no
* involvement in its creation.
*
......
add_library(MidiForwarder MODULE MidiForwarder.cpp )
target_link_libraries(MidiForwarder PUBLIC XPlug)
target_link_libraries(MidiForwarder PUBLIC APAL)
if(XPLUG_LADSPA_SUPPORT)
if(APAL_LADSPA_SUPPORT)
target_link_libraries(MidiForwarder PUBLIC ladspa)
endif(XPLUG_LADSPA_SUPPORT)
if(XPLUG_VST2_SUPPORT)
endif(APAL_LADSPA_SUPPORT)
if(APAL_VST2_SUPPORT)
target_link_libraries(MidiForwarder PUBLIC vst2)
endif(XPLUG_VST2_SUPPORT)
endif(APAL_VST2_SUPPORT)
if(XPLUG_VST3_SUPPORT)
if(APAL_VST3_SUPPORT)
target_link_libraries(MidiForwarder PUBLIC vst3)
endif(XPLUG_VST3_SUPPORT)
endif(APAL_VST3_SUPPORT)
if(XPLUG_LV2_SUPPORT)
if(APAL_LV2_SUPPORT)
target_link_libraries(MidiForwarder PUBLIC lv2)
add_custom_command(TARGET MidiForwarder POST_BUILD COMMAND TTLGenerator ARGS $<TARGET_FILE:MidiForwarder> BYPRODUCTS manifest.ttl MidiForwarder.ttl )
endif(XPLUG_LV2_SUPPORT)
endif(APAL_LV2_SUPPORT)
if(XPLUG_BUILD_TESTS)
include(xplug)
if(XPLUG_VST2_SUPPORT)
if(APAL_BUILD_TESTS)
include(APAL)
if(APAL_VST2_SUPPORT)
RUN_VST2_TEST(MidiForwarder)
endif(XPLUG_VST2_SUPPORT)
if(XPLUG_VST3_SUPPORT)
endif(APAL_VST2_SUPPORT)
if(APAL_VST3_SUPPORT)
RUN_VST3_TEST(MidiForwarder)
endif(XPLUG_VST3_SUPPORT)
if(XPLUG_LADSPA_SUPPORT)
endif(APAL_VST3_SUPPORT)
if(APAL_LADSPA_SUPPORT)
RUN_LADSPA_TESTS(MidiForwarder)
endif(XPLUG_LADSPA_SUPPORT)
if(XPLUG_LV2_SUPPORT)
endif(APAL_LADSPA_SUPPORT)
if(APAL_LV2_SUPPORT)
RUN_LV2_TESTS(MidiForwarder)
endif(XPLUG_LV2_SUPPORT)
endif(XPLUG_BUILD_TESTS)
endif(APAL_LV2_SUPPORT)
endif(APAL_BUILD_TESTS)
......@@ -4,7 +4,7 @@
#include <base/PluginBases.hpp>
#include <base/Ports.hpp>
#include <tools/PortHandling.hpp>
using namespace XPlug;
using namespace APAL;
/**
* @brief MidiForwarder Example class, which has 1 Midi Input and 2 Midi
* Outputs. The Midi in signal is forwarded to the 2 Midi Outputs
......@@ -33,7 +33,7 @@ public:
this->infoComponent->pluginName = "MidiForwarder";
this->infoComponent->creatorName = "Benjamin Heisch";
this->infoComponent->pluginUri =
"http://xplug_plug.in/examples/MidiForwarder";
"http://APAL_plug.in/examples/MidiForwarder";
}
// Geerbt über IPlugin
virtual void processAudio() override
......
add_library(VolumePlugin MODULE VolumePlugin.cpp )
target_link_libraries(VolumePlugin PUBLIC XPlug)
target_link_libraries(VolumePlugin PUBLIC APAL)
if(XPLUG_LADSPA_SUPPORT)
if(APAL_LADSPA_SUPPORT)
target_link_libraries(VolumePlugin PUBLIC ladspa)
endif(XPLUG_LADSPA_SUPPORT)
if(XPLUG_VST2_SUPPORT)
endif(APAL_LADSPA_SUPPORT)
if(APAL_VST2_SUPPORT)
target_link_libraries(VolumePlugin PUBLIC vst2)
endif(XPLUG_VST2_SUPPORT)
endif(APAL_VST2_SUPPORT)
if(XPLUG_VST3_SUPPORT)
if(APAL_VST3_SUPPORT)
target_link_libraries(VolumePlugin PUBLIC vst3)
endif(XPLUG_VST3_SUPPORT)
endif(APAL_VST3_SUPPORT)
if(XPLUG_LV2_SUPPORT)
if(APAL_LV2_SUPPORT)
target_link_libraries(VolumePlugin PUBLIC lv2)
add_custom_command(TARGET VolumePlugin POST_BUILD COMMAND TTLGenerator ARGS $<TARGET_FILE:VolumePlugin> BYPRODUCTS manifest.ttl VolumePlugin.ttl )
endif(XPLUG_LV2_SUPPORT)
endif(APAL_LV2_SUPPORT)
if(XPLUG_BUILD_TESTS)
include(xplug)
if(XPLUG_VST2_SUPPORT)
if(APAL_BUILD_TESTS)
include(APAL)
if(APAL_VST2_SUPPORT)
RUN_VST2_TEST(VolumePlugin)
endif(XPLUG_VST2_SUPPORT)
if(XPLUG_VST3_SUPPORT)
endif(APAL_VST2_SUPPORT)
if(APAL_VST3_SUPPORT)
RUN_VST3_TEST(VolumePlugin)
endif(XPLUG_VST3_SUPPORT)
if(XPLUG_LADSPA_SUPPORT)
endif(APAL_VST3_SUPPORT)
if(APAL_LADSPA_SUPPORT)
RUN_LADSPA_TESTS(VolumePlugin)
endif(XPLUG_LADSPA_SUPPORT)
if(XPLUG_LV2_SUPPORT)
endif(APAL_LADSPA_SUPPORT)
if(APAL_LV2_SUPPORT)
RUN_LV2_TESTS(VolumePlugin)
endif(XPLUG_LV2_SUPPORT)
endif(XPLUG_BUILD_TESTS)
endif(APAL_LV2_SUPPORT)
endif(APAL_BUILD_TESTS)
#include <base/PluginBases.hpp>
#include <base/Ports.hpp>
#include <tools/PortHandling.hpp>
using namespace XPlug;
using namespace APAL;
/**
* @brief VolumePlguin class, which forwards audiodata and just changes the
* Volume. For an easy start its derived from LazyPlugin, to start easily.
......@@ -32,7 +32,7 @@ public:
this->infoComponent->pluginName = "VolumePlugin";
this->infoComponent->creatorName = "Benjamin Heisch";
this->infoComponent->pluginUri =
"http://xplug_plug.in/examples/VolumePlugin";
"http://APAL_plug.in/examples/VolumePlugin";
}
// Geerbt über IPlugin
......
# Enable XPLUG_LADSPA_SUPPORT
# if its forced to not be used by specify XPLUG_LADSPA_SUPPORT to OFF, dont build it.
option(XPLUG_LADSPA_SUPPORT "Support vor LADSPA" ON)
# Enable APAL_LADSPA_SUPPORT
# if its forced to not be used by specify APAL_LADSPA_SUPPORT to OFF, dont build it.
option(APAL_LADSPA_SUPPORT "Support vor LADSPA" ON)
if(XPLUG_LADSPA_SUPPORT)
if(APAL_LADSPA_SUPPORT)
include(symbol_export)
add_library(ladspa "ladspa.cpp")
set_target_properties(ladspa PROPERTIES POSITION_INDEPENDENT_CODE True)
target_link_libraries(ladspa XPlug)
target_link_libraries(ladspa APAL)
target_compile_features(ladspa PUBLIC cxx_std_11)
target_include_directories(ladspa PRIVATE ${CMAKE_CURRENT_LIST_DIR}/../../src ${PROJECT_SOURCE_DIR}/deps)
EXPORT_SYMBOLS(ladspa FUNCTION_NAMES ladspa_descriptor)
install(TARGETS ladspa EXPORT XPlugExport DESTINATION lib)
install(TARGETS ladspa EXPORT APALExport DESTINATION lib)
add_subdirectory(tests)
endif(XPLUG_LADSPA_SUPPORT)
\ No newline at end of file
endif(APAL_LADSPA_SUPPORT)
\ No newline at end of file
......@@ -9,7 +9,7 @@
#include <tools/PortHandling.hpp>
#include <vector>
using namespace XPlug;
using namespace APAL;
struct LADSPAHandleDataType
{
......
if(XPLUG_BUILD_TESTS)
if(APAL_BUILD_TESTS)
target_include_directories(XValidate PUBLIC ${CMAKE_CURRENT_LIST_DIR}/.. ${PROJECT_SOURCE_DIR}/deps/)
target_sources(XValidate PUBLIC ${CMAKE_CURRENT_LIST_DIR}/LADSPATestSuite.cpp)
endif(XPLUG_BUILD_TESTS)
\ No newline at end of file
endif(APAL_BUILD_TESTS)
\ No newline at end of file
......@@ -2,7 +2,7 @@
#include "ladspa.h"
#include "tools/LibLoading.hpp"
#include <vector>
using namespace XPlug;
using namespace APAL;
/**
* @brief LADSPA Test Suite for XValidate/system_tests
*/
......
# Enable XPLUG_LV2_SUPPORT if present, othertwhise not.
# if its forced to used by specify XPLUG_LV2_SUPPORT to ON, VST3 package is required.
# Enable APAL_LV2_SUPPORT if present, othertwhise not.
# if its forced to used by specify APAL_LV2_SUPPORT to ON, VST3 package is required.
find_package(LV2)
option(XPLUG_LV2_SUPPORT "Support vor LV2" ${LV2_FOUND})
option(APAL_LV2_SUPPORT "Support vor LV2" ${LV2_FOUND})
if(XPLUG_LV2_SUPPORT)
if(APAL_LV2_SUPPORT)
include(symbol_export)
find_package(LV2 REQUIRED)
add_library(lv2 "lv2.cpp" "lv2_ttl_generation.cpp")
set_target_properties(lv2 PROPERTIES POSITION_INDEPENDENT_CODE True)
target_link_libraries(lv2 XPlug)
target_link_libraries(lv2 APAL)
target_include_directories(lv2 SYSTEM PRIVATE ${LV2_INCLUDE_DIRS})
target_compile_features(lv2 PUBLIC cxx_std_11)
EXPORT_SYMBOLS(lv2 FUNCTION_NAMES lv2_descriptor lv2_lib_descriptor getTTLFromPlugin getManifestFromMultpleInfos getPluginInfos)
add_executable(TTLGenerator "TtlGenerator.cpp")
target_link_libraries(TTLGenerator XPlug)
install(TARGETS lv2 EXPORT XPlugExport DESTINATION lib)
target_link_libraries(TTLGenerator APAL)
install(TARGETS lv2 EXPORT APALExport DESTINATION lib)
add_subdirectory(tests)
# add_executable(tt "turtle.cpp")
endif(XPLUG_LV2_SUPPORT)
\ No newline at end of file
endif(APAL_LV2_SUPPORT)
\ No newline at end of file
......@@ -9,7 +9,7 @@
#include <tools/LibLoading.hpp>
#include <tools/StringTools.hpp>
using namespace XPlug;
using namespace APAL;
/********FUNCTION VARIABLES*********/
std::string (*getTTLFromPluginPtr)(IPlugin*) = nullptr;
std::string (*getManifestFromMultpleInfosPtr)(std::vector<TTLPluginInfo>) =
......@@ -41,7 +41,7 @@ main(int argc, char* argv[])
/*********LOAD LIBRARY AND FUNCTIONS********/
std::string pluginLib(argv[1]);
XPlug::replaceInString(pluginLib, "\\", "/");
APAL::replaceInString(pluginLib, "\\", "/");
auto pluginLibHandle = LoadLib(pluginLib.c_str());
if (pluginLibHandle == nullptr) {
std::cerr << GetErrorStr() << std::endl;
......
......@@ -14,7 +14,7 @@
#include <tools/PortHandling.hpp>
#include <unordered_map>
#include <vector>
using namespace XPlug;
using namespace APAL;
/**
* @brief Handle, wich is used, to create an possibility to write and read Midi
......@@ -145,7 +145,7 @@ extern "C"
size_t midiPortIndex = 0;
iteratePortsFlat(
data->plug,
[IPort, DataLocation, &data, &midiPortIndex](XPlug::IPort* p,
[IPort, DataLocation, &data, &midiPortIndex](APAL::IPort* p,
size_t ind) {
if (IPort == ind) {
auto midiPort = dynamic_cast<IMidiPort*>(p);
......
......@@ -5,7 +5,7 @@
#include <sstream>
#include <tools/PortHandling.hpp>
#include <tools/StringTools.hpp>
using namespace XPlug;
using namespace APAL;
/**
* @brief FUnction to convert SpeakerConfiguration to LV2 PortGroups. Not
......
......@@ -14,7 +14,7 @@ struct TTLPluginInfo
// ttl file with name and extension.
std::string binFileName = ""; // relative filepath(relative in the Bundle) of
// binary file with name and extension.
XPlug::IPlugin* plugPtr = nullptr; // Pointer to IPlugin
APAL::IPlugin* plugPtr = nullptr; // Pointer to IPlugin
};
#ifndef _MSC_VER
......@@ -27,7 +27,7 @@ extern "C"
* so it must be casted to void*
* @param ttlContent String return value.
*/
std::string getTTLFromPlugin(XPlug::IPlugin* pluginPtr);
std::string getTTLFromPlugin(APAL::IPlugin* pluginPtr);
/**
* @brief Function to get an manifest file from multiple Plugininfos.
......
if(XPLUG_BUILD_TESTS)
if(APAL_BUILD_TESTS)
target_include_directories(XValidate SYSTEM PUBLIC ${LV2_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/deps/)
target_sources(XValidate PUBLIC
${CMAKE_CURRENT_LIST_DIR}/LV2TestSuite.cpp
......@@ -8,4 +8,4 @@ if(XPLUG_BUILD_TESTS)
target_sources(regression_tests PUBLIC
${CMAKE_CURRENT_LIST_DIR}/LV2RegressionTest.cpp
${PROJECT_SOURCE_DIR}/deps/lilv.c)
endif(XPLUG_BUILD_TESTS)
\ No newline at end of file
endif(APAL_BUILD_TESTS)
\ No newline at end of file
......@@ -10,7 +10,7 @@
#include <lv2/urid/urid.h>
#include <map>
#include <vector>
using namespace XPlug;
using namespace APAL;
/**
* @brief Simple Testclass, derived from FormatTestSuiteBase to Test LV2 Format.
......
option(XPLUG_VST2_SUPPORT "Support vor VST2" ON)
option(APAL_VST2_SUPPORT "Support vor VST2" ON)
if(XPLUG_VST2_SUPPORT)
if(APAL_VST2_SUPPORT)
include(symbol_export)
find_package(VST2)
add_library(vst2 "vestige.cpp" "vst_def.hpp")
......@@ -11,8 +11,8 @@ if(XPLUG_VST2_SUPPORT)
endif(VST2_FOUND)
target_include_directories(vst2 SYSTEM PRIVATE ${PROJECT_SOURCE_DIR}/deps/)
set_target_properties(vst2 PROPERTIES POSITION_INDEPENDENT_CODE True)
target_link_libraries(vst2 XPlug)
target_link_libraries(vst2 APAL)
EXPORT_SYMBOLS(vst2 FUNCTION_NAMES VSTPluginMain)
install(TARGETS vst2 EXPORT XPlugExport DESTINATION lib)
install(TARGETS vst2 EXPORT APALExport DESTINATION lib)
add_subdirectory(tests)
endif(XPLUG_VST2_SUPPORT)
\ No newline at end of file
endif(APAL_VST2_SUPPORT)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment