diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2017-12-16 20:36:41 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2017-12-16 20:36:41 +0300 |
commit | cfb96e9ef563e4cf39350b5b8721f4b5b70585d2 (patch) | |
tree | fd92556eb497c14ad9f7eed01e853a7d1ecca049 /CMakeLists.txt | |
parent | 93b8726a3db33023f2c5a0cc5efba58583b87fb4 (diff) | |
download | libADLMIDI-cfb96e9ef563e4cf39350b5b8721f4b5b70585d2.tar.gz libADLMIDI-cfb96e9ef563e4cf39350b5b8721f4b5b70585d2.tar.bz2 libADLMIDI-cfb96e9ef563e4cf39350b5b8721f4b5b70585d2.zip |
Added experimental VLC plugin
Plugin is made for VLC 2.2.2 Weatherwax (pre-installed in Linux Mint 18.3)
Existing issues:
- No ability to change codec properties yet, this thing is WIP
- By unknown reason, resulted sound has different (RANDOM) sample rate which is different from 44100 Hz
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4446231..031152b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ ENDIF() option(WITH_MIDIPLAY "Build also demo MIDI player" OFF) option(MIDIPLAY_WAVE_ONLY "Build Demo MIDI player without support of real time playing. It will output into WAV only." OFF) option(WITH_ADLMIDI2 "Build also classic ADLMIDI player [EXPERIMENTAL]" OFF) +option(WITH_VLC_PLUGIN "Build also a plugin for VLC Media Player" OFF) option(WITH_OLD_UTILS "Build also old utilities" OFF) option(WITH_EMBEDDED_BANKS "Use embedded banks" ON) option(WITH_GENADLDATA "Build and run full rebuild of embedded banks cache" OFF) @@ -46,6 +47,7 @@ option(WITH_CPP_EXTRAS "Build with support for C++ extras (features are can option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF) + if(CMAKE_VERSION VERSION_EQUAL "3.1" OR CMAKE_VERSION VERSION_GREATER "3.1") set(CMAKE_CXX_STANDARD 11) endif() @@ -292,6 +294,40 @@ if(WITH_ADLMIDI2) list(APPEND libADLMIDI_INSTALLS adlmidi2) endif() +if(WITH_VLC_PLUGIN) + include(cmake/FindLIBVLC.cmake) + include_directories(${LIBVLC_INCLUDE_DIR}/vlc/plugins) + include_directories(${LIBVLC_INCLUDE_DIR}/vlc) + message("Found ${LIBVLC_LIBRARY} of version ${LIBVLC_VERSION} with includes ${LIBVLC_INCLUDE_DIR}") + + set(adlmidi_vlc_src) + list(APPEND adlmidi_vlc_src + ${libADLMIDI_SOURCE_DIR}/utils/vlc_codec/libadlmidi.c) + + add_library(adlmidi_plugin MODULE ${adlmidi_vlc_src}) + target_compile_options(adlmidi_plugin PUBLIC "-DVLC_MODULE_COPYRIGHT=\"Copyright \(c\) Vitaly Novichkov\"") + target_compile_options(adlmidi_plugin PUBLIC "-DVLC_MODULE_LICENSE=\"GPLv3\"") + target_compile_options(adlmidi_plugin PUBLIC "-DMODULE_STRING=\"adlmidi\"") + #target_link_options() + #target_compile_definitions(adlmidi_plugin + # PUBLIC -DVLC_MODULE_COPYRIGHT="Copyright \(c\) Vitaly Novichkov" -DVLC_MODULE_LICENSE="GPLv3" -DMODULE_STRING="adlmidi") + target_link_libraries(adlmidi_plugin ADLMIDI vlccore m stdc++) + target_link_libraries(adlmidi_plugin INTERFACE "-export-symbol-regex ^vlc_entry") + #target_compile_definitions(adlmidi_plugin -DVLC_MODULE_LICENSE="GPLv3") + #target_compile_definitions(adlmidi_plugin -DMODULE_STRING="adlmidi") + + if(libADLMIDI_SHARED) + add_dependencies(adlmidi_plugin ADLMIDI_shared) + # ========= WIP ========= + # set_target_properties(adlmidiplay PROPERTIES COMPILE_FLAGS "-Wl,-rpath='$$ORIGIN/../lib'") + else() + if(NOT libADLMIDI_STATIC) + message(FATAL_ERROR "libADLMIDI is required to be built!") + endif() + add_dependencies(adlmidi_plugin ADLMIDI_static) + endif() + +endif() install(TARGETS ${libADLMIDI_INSTALLS} RUNTIME DESTINATION "bin" |