Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ubuntu build #87

Open
wants to merge 6 commits into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: ${{ matrix.os }} - ${{ matrix.build_type }}
strategy:
matrix:
os: [macos-latest, windows-latest]
os: [macos-latest, windows-latest, ubuntu-latest]
build_type: [Debug, Release]
fail-fast: false

Expand All @@ -30,10 +30,24 @@ jobs:
with:
submodules: recursive

- name: Install dependencies (ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install libasound2-dev libjack-jackd2-dev \
ladspa-sdk \
libcurl4-openssl-dev \
libfreetype6-dev \
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev \
libxinerama-dev libxrandr-dev libxrender-dev \
libwebkit2gtk-4.0-dev \
libglu1-mesa-dev mesa-common-dev \
libgtk-3-dev libwebkit2gtk-4.0-dev

- name: Install pluginval
id: pluginval
env:
PLUGINVAL_BINARY: ${{ runner.os == 'macOS' && 'pluginval.app/Contents/MacOS/pluginval' || 'pluginval.exe' }}
PLUGINVAL_BINARY: ${{ runner.os == 'macOS' && 'pluginval.app/Contents/MacOS/pluginval' || runner.os == 'Linux' && 'pluginval' || 'pluginval.exe' }}
TEMP_DIR: Builds/tmp
run: |
mkdir -p $TEMP_DIR
Expand Down
10 changes: 7 additions & 3 deletions CMakeIncludes/PGMPluginval.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ set (PLUGINVAL_SAMPLERATES "44100;44800;96000" CACHE STRING "list of samplerates

set (PLUGINVAL_BLOCKSIZES "1;250;512" CACHE STRING "list of blocksizes to test in pluginval")

mark_as_advanced (PLUGINVAL_PROGRAM PLUGINVAL_STRICTNESS PLUGINVAL_REPEATS PLUGINVAL_SAMPLERATES PLUGINVAL_BLOCKSIZES)
set (PLUGINVAL_OUTPUT_DIR "${CMAKE_BINARY_DIR}/pluginval" CACHE PATH "Directory to write pluginval logs to")

mark_as_advanced (PLUGINVAL_PROGRAM PLUGINVAL_STRICTNESS PLUGINVAL_REPEATS PLUGINVAL_SAMPLERATES PLUGINVAL_BLOCKSIZES PLUGINVAL_OUTPUT_DIR)

#

Expand Down Expand Up @@ -141,8 +143,10 @@ function (pgm_add_pluginval_tests pluginTarget)
--strictness-level "${PLUGINVAL_STRICTNESS}"
--sample-rates "${sample_rates}"
--block-sizes "${block_sizes}"
--repeat "${PLUGINVAL_REPEATS}" --randomise
--validate "${plugin_artefact}")
--repeat "${PLUGINVAL_REPEATS}"
--validate "${plugin_artefact}"
--output-dir "${PLUGINVAL_OUTPUT_DIR}"
--randomise --verbose)

message (VERBOSE "Added pluginval test for plugin target ${format_target}")

Expand Down
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

cmake_minimum_required(VERSION 3.15 FATAL_ERROR)

set (FGM_VERSION 1.4.0)
set (FGM_VERSION 1.4.1)

project (foleys_gui_magic
DESCRIPTION "PluginGuiMagic"
Expand All @@ -56,6 +56,8 @@ set (CMAKE_CXX_STANDARD_REQUIRED ON)
set (CMAKE_CXX_VISIBILITY_PRESET hidden)
set (CMAKE_VISIBILITY_INLINES_HIDDEN ON)

set (BUILD_SHARED_LIBS OFF)

# universal binaries on Mac
set (CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING
"Architectures to build on MacOS. Set to arm64\;x86_64 to build universal (fat) binaries, or just one of those for faster build times.")
Expand Down
13 changes: 8 additions & 5 deletions Examples/APVTS_Tutorial/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ juce_add_plugin(${PROJECT_NAME}
COMPANY_EMAIL "[email protected]"
BUNDLE_ID "com.foleysfinest.APVTS-Tutorial"
PLUGIN_NAME "PGM-APVTS-Tutorial"
PRODUCT_NAME "PGM-APVTS-Tutorial")
PRODUCT_NAME "PGM-APVTS-Tutorial"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)


juce_generate_juce_header (${PROJECT_NAME})
Expand Down Expand Up @@ -51,11 +53,12 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_SHOW_GUI_EDITOR_PALLETTE=1
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

foreach(FORMAT ${FORMATS})
get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
endforeach()
# foreach(FORMAT ${FORMATS})
# get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
# add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
# endforeach()

__pgm_internal_add_pluginval_tests (${PROJECT_NAME})
4 changes: 4 additions & 0 deletions Examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ if (APPLE)
list(APPEND FORMATS "AU")
endif()

if (LINUX)
list(APPEND FORMATS "LV2")
endif()

# setup the copying to the output folder
if (APPLE)
set(COPY_FOLDER ${CMAKE_SOURCE_DIR}/Builds/MacOSX)
Expand Down
13 changes: 8 additions & 5 deletions Examples/EqualizerExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ juce_add_plugin(${PROJECT_NAME}
COMPANY_EMAIL "[email protected]"
BUNDLE_ID "com.foleysfinest.EqualizerExample"
PLUGIN_NAME "PGM-Equalizer"
PRODUCT_NAME "PGM-Equalizer")
PRODUCT_NAME "PGM-Equalizer"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)

juce_add_binary_data(${PROJECT_NAME}_data
SOURCES
Expand Down Expand Up @@ -59,11 +61,12 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
FOLEYS_ENABLE_BINARY_DATA=1
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

foreach(FORMAT ${FORMATS})
get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
endforeach()
# foreach(FORMAT ${FORMATS})
# get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
# add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
# endforeach()

__pgm_internal_add_pluginval_tests (${PROJECT_NAME})
13 changes: 8 additions & 5 deletions Examples/ExtendingExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ juce_add_plugin(${PROJECT_NAME}
COMPANY_EMAIL "[email protected]"
BUNDLE_ID "com.foleysfinest.EqualizerExample"
PLUGIN_NAME "PGM-Extending"
PRODUCT_NAME "PGM-Extending")
PRODUCT_NAME "PGM-Extending"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)

juce_add_binary_data(${PROJECT_NAME}_data
SOURCES
Expand Down Expand Up @@ -56,11 +58,12 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_SHOW_GUI_EDITOR_PALLETTE=1
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

foreach(FORMAT ${FORMATS})
get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
endforeach()
# foreach(FORMAT ${FORMATS})
# get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
# add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
# endforeach()

__pgm_internal_add_pluginval_tests (${PROJECT_NAME})
13 changes: 8 additions & 5 deletions Examples/FoleysSynth/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ juce_add_plugin(${PROJECT_NAME}
COMPANY_EMAIL "[email protected]"
BUNDLE_ID "com.foleysfinest.FoleysSynth"
PLUGIN_NAME "PGM-FoleysSynth"
PRODUCT_NAME "PGM-FoleysSynth")
PRODUCT_NAME "PGM-FoleysSynth"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)

juce_add_binary_data(${PROJECT_NAME}_data
SOURCES
Expand Down Expand Up @@ -64,11 +66,12 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_SHOW_GUI_EDITOR_PALLETTE=1
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

foreach(FORMAT ${FORMATS})
get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
endforeach()
# foreach(FORMAT ${FORMATS})
# get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
# add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
# endforeach()

__pgm_internal_add_pluginval_tests (${PROJECT_NAME})
3 changes: 2 additions & 1 deletion Examples/PlayerExample/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,5 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_ENABLE_BINARY_DATA=1
FOLEYS_SHOW_GUI_EDITOR_PALLETTE=1
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
JUCE_WEB_BROWSER=0)
JUCE_WEB_BROWSER=0
JUCE_USE_CURL=0)
13 changes: 8 additions & 5 deletions Examples/SignalGenerator/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ juce_add_plugin(${PROJECT_NAME}
COMPANY_EMAIL "[email protected]"
BUNDLE_ID "com.foleysfinest.SignalGenerator"
PLUGIN_NAME "PGM-SignalGenerator"
PRODUCT_NAME "PGM-SignalGenerator")
PRODUCT_NAME "PGM-SignalGenerator"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)

juce_add_binary_data(${PROJECT_NAME}_data
SOURCES
Expand Down Expand Up @@ -57,11 +59,12 @@ target_compile_definitions(${PROJECT_NAME}
FOLEYS_SHOW_GUI_EDITOR_PALLETTE=1
FOLEYS_SAVE_EDITED_GUI_IN_PLUGIN_STATE=0
JUCE_VST3_CAN_REPLACE_VST2=0
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

foreach(FORMAT ${FORMATS})
get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
endforeach()
# foreach(FORMAT ${FORMATS})
# get_target_property(ARTEFACTS_DIR ${PROJECT_NAME}_${FORMAT} LIBRARY_OUTPUT_DIRECTORY)
# add_custom_command(TARGET ${PROJECT_NAME}_${FORMAT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${ARTEFACTS_DIR} ${COPY_FOLDER})
# endforeach()

__pgm_internal_add_pluginval_tests (${PROJECT_NAME})
8 changes: 7 additions & 1 deletion Tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,13 @@ endif()
include (Catch)

juce_add_console_app (FoleysGUIMagicTests VERSION ${FOLEYS_VERSION}
BUNDLE_ID "com.foleysfinest.foleys_gui_magic.tests")
BUNDLE_ID "com.foleysfinest.foleys_gui_magic.tests"
NEEDS_WEB_BROWSER FALSE
NEEDS_CURL FALSE)

target_compile_definitions (FoleysGUIMagicTests PRIVATE
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0)

target_sources (FoleysGUIMagicTests PRIVATE
foleys_MagicProcessorTests.cpp
Expand Down
2 changes: 1 addition & 1 deletion modules/foleys_gui_magic/foleys_gui_magic.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

ID: foleys_gui_magic
vendor: Foleys Finest Audio
version: 1.3.9
version: 1.4.1
name: Foleys GUI magic
description: This module allows to create GUI with a drag and drop editor
dependencies: juce_core, juce_audio_basics, juce_audio_devices, juce_audio_formats,
Expand Down