Browse Source

Partial conversion from cmake to waf.

waf
Ben Niemann 3 years ago
parent
commit
f032555175
  1. 2
      .gitignore
  2. 170
      CMakeLists.txt
  3. 29
      data/csound/wscript
  4. 62
      data/icons/CMakeLists.txt
  5. 67
      data/icons/wscript
  6. 13
      data/presets/wscript
  7. 19
      data/sounds/wscript
  8. 42
      data/symbols/CMakeLists.txt
  9. 47
      data/symbols/wscript
  10. 17
      data/wscript
  11. 192
      noisicaa/audioproc/engine/CMakeLists.txt
  12. 193
      noisicaa/audioproc/engine/wscript
  13. 107
      noisicaa/audioproc/public/CMakeLists.txt
  14. 110
      noisicaa/audioproc/public/wscript
  15. 24
      noisicaa/audioproc/wscript
  16. 49
      noisicaa/bindings/wscript
  17. 83
      noisicaa/builtin_nodes/CMakeLists.txt
  18. 25
      noisicaa/builtin_nodes/beat_track/wscript
  19. 47
      noisicaa/builtin_nodes/control_track/CMakeLists.txt
  20. 48
      noisicaa/builtin_nodes/control_track/wscript
  21. 41
      noisicaa/builtin_nodes/custom_csound/CMakeLists.txt
  22. 42
      noisicaa/builtin_nodes/custom_csound/wscript
  23. 42
      noisicaa/builtin_nodes/cv_mapper/CMakeLists.txt
  24. 42
      noisicaa/builtin_nodes/cv_mapper/wscript
  25. 44
      noisicaa/builtin_nodes/instrument/CMakeLists.txt
  26. 45
      noisicaa/builtin_nodes/instrument/wscript
  27. 43
      noisicaa/builtin_nodes/metronome/CMakeLists.txt
  28. 43
      noisicaa/builtin_nodes/metronome/wscript
  29. 49
      noisicaa/builtin_nodes/midi_cc_to_cv/CMakeLists.txt
  30. 50
      noisicaa/builtin_nodes/midi_cc_to_cv/wscript
  31. 47
      noisicaa/builtin_nodes/midi_looper/CMakeLists.txt
  32. 47
      noisicaa/builtin_nodes/midi_looper/wscript
  33. 41
      noisicaa/builtin_nodes/midi_monitor/wscript
  34. 44
      noisicaa/builtin_nodes/midi_source/CMakeLists.txt
  35. 46
      noisicaa/builtin_nodes/midi_source/wscript
  36. 42
      noisicaa/builtin_nodes/midi_velocity_mapper/wscript
  37. 33
      noisicaa/builtin_nodes/mixer/wscript
  38. 30
      noisicaa/builtin_nodes/noise/wscript
  39. 32
      noisicaa/builtin_nodes/oscillator/CMakeLists.txt
  40. 29
      noisicaa/builtin_nodes/oscillator/wscript
  41. 42
      noisicaa/builtin_nodes/oscilloscope/CMakeLists.txt
  42. 42
      noisicaa/builtin_nodes/oscilloscope/wscript
  43. 37
      noisicaa/builtin_nodes/pianoroll/CMakeLists.txt
  44. 39
      noisicaa/builtin_nodes/pianoroll/wscript
  45. 48
      noisicaa/builtin_nodes/sample_track/CMakeLists.txt
  46. 49
      noisicaa/builtin_nodes/sample_track/wscript
  47. 35
      noisicaa/builtin_nodes/score_track/wscript
  48. 43
      noisicaa/builtin_nodes/step_sequencer/CMakeLists.txt
  49. 39
      noisicaa/builtin_nodes/step_sequencer/wscript
  50. 32
      noisicaa/builtin_nodes/vca/CMakeLists.txt
  51. 22
      noisicaa/builtin_nodes/vca/wscript
  52. 82
      noisicaa/builtin_nodes/wscript
  53. 81
      noisicaa/core/CMakeLists.txt
  54. 19
      noisicaa/core/stats/wscript
  55. 84
      noisicaa/core/wscript
  56. 47
      noisicaa/host_system/CMakeLists.txt
  57. 49
      noisicaa/host_system/wscript
  58. 26
      noisicaa/instr/CMakeLists.txt
  59. 19
      noisicaa/instr/wscript
  60. 27
      noisicaa/instrument_db/private/CMakeLists.txt
  61. 22
      noisicaa/instrument_db/private/wscript
  62. 24
      noisicaa/instrument_db/wscript
  63. 62
      noisicaa/lv2/CMakeLists.txt
  64. 65
      noisicaa/lv2/wscript
  65. 64
      noisicaa/music/CMakeLists.txt
  66. 66
      noisicaa/music/wscript
  67. 34
      noisicaa/node_db/private/CMakeLists.txt
  68. 42
      noisicaa/node_db/private/wscript
  69. 43
      noisicaa/node_db/wscript
  70. 25
      noisicaa/title_generator/CMakeLists.txt
  71. 17
      noisicaa/title_generator/wscript
  72. 75
      noisicaa/ui/CMakeLists.txt
  73. 32
      noisicaa/ui/graph/CMakeLists.txt
  74. 34
      noisicaa/ui/graph/wscript
  75. 32
      noisicaa/ui/track_list/CMakeLists.txt
  76. 34
      noisicaa/ui/track_list/wscript
  77. 77
      noisicaa/ui/wscript
  78. 38
      noisicaa/value_types/CMakeLists.txt
  79. 30
      noisicaa/value_types/wscript
  80. 47
      noisicaa/wscript
  81. 44
      noisidev/wscript
  82. 60
      testdata/CMakeLists.txt
  83. 25
      testdata/ladspa/CMakeLists.txt
  84. 30
      testdata/ladspa/wscript
  85. 40
      testdata/lv2/test-options.lv2/wscript
  86. 35
      testdata/lv2/test-passthru.lv2/CMakeLists.txt
  87. 40
      testdata/lv2/test-passthru.lv2/wscript
  88. 40
      testdata/lv2/test-state.lv2/wscript
  89. 44
      testdata/lv2/test-ui-gtk2.lv2/wscript
  90. 64
      testdata/wscript
  91. 170
      waf
  92. 321
      wscript

2
.gitignore vendored

@ -8,3 +8,5 @@ __pycache__/
/.venv
/website/_build/
/website/_serve/
/.waf*
/.lock-waf*

170
CMakeLists.txt

@ -1,170 +0,0 @@
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
cmake_minimum_required(VERSION 3.5)
project (noisicaä)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
find_package(Cython REQUIRED)
if("$ENV{VIRTUAL_ENV}" STREQUAL "")
message(FATAL_ERROR "Not running in a virtual env.")
endif("$ENV{VIRTUAL_ENV}" STREQUAL "")
find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
set(ENV{PKG_CONFIG_PATH} $ENV{VIRTUAL_ENV}/lib/pkgconfig)
find_package(PkgConfig)
pkg_check_modules(LIBSRATOM REQUIRED sratom-0)
pkg_check_modules(LIBLILV REQUIRED lilv-0)
pkg_check_modules(LIBSUIL REQUIRED suil-0>=0.10.0)
pkg_check_modules(LIBSNDFILE REQUIRED sndfile)
pkg_check_modules(LIBFLUIDSYNTH REQUIRED fluidsynth>=1.1.6)
pkg_check_modules(LIBAVUTIL REQUIRED libavutil)
pkg_check_modules(LIBSWRESAMPLE REQUIRED libswresample)
pkg_check_modules(LIBPROTOBUF REQUIRED protobuf>=3.7)
pkg_check_modules(LIBPORTAUDIO REQUIRED portaudio-2.0>=19)
pkg_check_modules(LIBUNWIND REQUIRED libunwind-generic>=1.1)
find_package(Qt4 4.8 REQUIRED QtGui)
find_package(GTK2 2.24 REQUIRED gtk)
set(LIBCSOUND_INCLUDE_DIRS)
set(LIBCSOUND_LIBRARIES csound64)
add_compile_options(-O2 -g -std=c++11)
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_BINARY_DIR})
include_directories($ENV{VIRTUAL_ENV}/include)
link_directories($ENV{VIRTUAL_ENV}/lib)
macro(install_files target)
foreach(src ${ARGN})
add_custom_command(
OUTPUT ${src}
COMMAND ln -sf ${CMAKE_CURRENT_LIST_DIR}/${src} ${src}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endforeach(src)
add_custom_target(${target} ALL DEPENDS ${ARGN})
endmacro(install_files)
macro(install_svg target)
foreach(src ${ARGN})
add_custom_command(
OUTPUT ${src}
COMMAND PYTHONPATH=${CMAKE_SOURCE_DIR} python -m noisidev.process_svg -o ${src} ${CMAKE_CURRENT_LIST_DIR}/${src}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endforeach(src)
add_custom_target(${target} ALL DEPENDS ${ARGN})
endmacro(install_svg)
macro(add_python_package)
foreach(src __init__.py ${ARGN})
add_custom_command(
OUTPUT ${src}
COMMAND cp -f ${CMAKE_CURRENT_LIST_DIR}/${src} ${src}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endforeach(src)
file(RELATIVE_PATH pkg_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_LIST_DIR})
string(REGEX REPLACE "/" "." pkg_target ${pkg_path})
add_custom_target("pkg-${pkg_target}" ALL DEPENDS __init__.py ${ARGN})
endmacro(add_python_package)
macro(add_cython_module mod lang)
file(RELATIVE_PATH pkg_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_LIST_DIR})
string(REGEX REPLACE "/" "." pkg_target ${pkg_path})
add_cython_target(${mod} ${mod}.pyx ${lang} PY3)
add_library(${pkg_target}.${mod} MODULE ${${mod}})
set_target_properties(${pkg_target}.${mod} PROPERTIES PREFIX "" OUTPUT_NAME ${mod})
set(${mod}.so ${pkg_target}.${mod})
endmacro(add_cython_module)
macro(py_proto src)
string(REGEX REPLACE "\\.proto$" "" base ${src})
file(RELATIVE_PATH pkg_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_LIST_DIR})
add_custom_command(
OUTPUT ${base}_pb2.py
COMMAND LD_LIBRARY_PATH=$ENV{VIRTUAL_ENV}/lib $ENV{VIRTUAL_ENV}/bin/protoc --python_out=${CMAKE_BINARY_DIR} --mypy_out=${CMAKE_BINARY_DIR} --proto_path=${CMAKE_SOURCE_DIR} --proto_path=${CMAKE_BINARY_DIR} ${pkg_path}/${src}
DEPENDS ${src}
)
string(REGEX REPLACE "/" "." pkg_target ${pkg_path})
add_custom_target(${pkg_target}.${src} ALL DEPENDS ${base}_pb2.py)
endmacro(py_proto)
macro(cpp_proto src)
string(REGEX REPLACE "\\.proto$" "" base ${src})
add_custom_command(
OUTPUT ${base}.pb.cc ${base}.pb.h
COMMAND LD_LIBRARY_PATH=$ENV{VIRTUAL_ENV}/lib $ENV{VIRTUAL_ENV}/bin/protoc --cpp_out=${CMAKE_BINARY_DIR} --proto_path=${CMAKE_SOURCE_DIR} --proto_path=${CMAKE_BINARY_DIR} ${pkg_path}/${src}
DEPENDS ${src}
)
endmacro(cpp_proto)
macro(static_file src)
add_custom_command(
OUTPUT ${src}
COMMAND mkdir -p "$$(dirname" ${src} ")" && cp -f ${CMAKE_CURRENT_LIST_DIR}/${src} ${src}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endmacro(static_file)
macro(render_csound src dest)
add_custom_command(
OUTPUT ${dest}
COMMAND LD_LIBRARY_PATH=$ENV{VIRTUAL_ENV}/lib csound -o${dest} ${CMAKE_CURRENT_LIST_DIR}/${src}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endmacro(render_csound)
macro(faust_dsp clsName src)
string(REGEX REPLACE "\\.dsp$" "" base ${src})
add_custom_command(
OUTPUT ${base}.cpp ${base}.h ${base}.json
COMMAND bin/build-faust-processor ${clsName} ${CMAKE_CURRENT_LIST_DIR}/${src} ${CMAKE_CURRENT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/${src}
)
endmacro(faust_dsp)
macro(build_model src out template)
file(RELATIVE_PATH pkg_path ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_LIST_DIR})
add_custom_command(
OUTPUT ${out} model.proto
COMMAND python noisidev/build_model.py --output ${CMAKE_BINARY_DIR} --template ${CMAKE_SOURCE_DIR}/${template} ${pkg_path}/${src}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS
${CMAKE_CURRENT_LIST_DIR}/${src}
${CMAKE_SOURCE_DIR}/noisidev/build_model.py
noisidev.model_desc.proto
${CMAKE_SOURCE_DIR}/${template}
)
string(REGEX REPLACE "/" "." pkg_target ${pkg_path})
add_custom_target("model-${pkg_target}" ALL DEPENDS ${out})
endmacro(build_model)
add_subdirectory(noisicaa)
add_subdirectory(noisidev)
add_subdirectory(data)
add_subdirectory(testdata)

29
data/csound/CMakeLists.txt → data/csound/wscript

@ -1,3 +1,5 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
@ -18,15 +20,18 @@
#
# @end:license
install_files(
"data.csound"
blip.csnd
butterbp.csnd
butterbr.csnd
butterhp.csnd
butterlp.csnd
delay.csnd
lfo-arate.csnd
lfo-krate.csnd
reverb.csnd
)
def build(ctx):
pass
# install_files(
# "data.csound"
# blip.csnd
# butterbp.csnd
# butterbr.csnd
# butterhp.csnd
# butterlp.csnd
# delay.csnd
# lfo-arate.csnd
# lfo-krate.csnd
# reverb.csnd
# )

62
data/icons/CMakeLists.txt

@ -1,62 +0,0 @@
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
install_files(
"data.icons"
accidental-double-flat.svg
accidental-double-sharp.svg
accidental-flat.svg
accidental-natural.svg
accidental-sharp.svg
duration-dot.svg
duration-quintuplet.svg
duration-triplet.svg
edit-beats.svg
edit-control-points.svg
edit-samples.svg
node-type-builtin.svg
node-type-ladspa.svg
node-type-lv2.svg
note-16th.svg
note-32th.svg
note-8th.svg
note-half.svg
note-quarter.svg
note-whole.svg
pointer.svg
rest-16th.svg
rest-32th.svg
rest-8th.svg
rest-half.svg
rest-quarter.svg
rest-whole.svg
settings_appearance.png
settings_audio.png
track-muted.svg
track-not-muted.svg
track-not-visible.svg
track-type-beat.svg
track-type-control.svg
track-type-group.svg
track-type-sample.svg
track-type-score.svg
track-visible.svg
warning.svg
)

67
data/icons/wscript

@ -0,0 +1,67 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
pass
# install_files(
# "data.icons"
# accidental-double-flat.svg
# accidental-double-sharp.svg
# accidental-flat.svg
# accidental-natural.svg
# accidental-sharp.svg
# duration-dot.svg
# duration-quintuplet.svg
# duration-triplet.svg
# edit-beats.svg
# edit-control-points.svg
# edit-samples.svg
# node-type-builtin.svg
# node-type-ladspa.svg
# node-type-lv2.svg
# note-16th.svg
# note-32th.svg
# note-8th.svg
# note-half.svg
# note-quarter.svg
# note-whole.svg
# pointer.svg
# rest-16th.svg
# rest-32th.svg
# rest-8th.svg
# rest-half.svg
# rest-quarter.svg
# rest-whole.svg
# settings_appearance.png
# settings_audio.png
# track-muted.svg
# track-not-muted.svg
# track-not-visible.svg
# track-type-beat.svg
# track-type-control.svg
# track-type-group.svg
# track-type-sample.svg
# track-type-score.svg
# track-visible.svg
# warning.svg
# )

13
data/presets/CMakeLists.txt → data/presets/wscript

@ -1,3 +1,5 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
@ -18,7 +20,10 @@
#
# @end:license
install_files(
"data.presets"
light_reverb.preset
)
def build(ctx):
pass
# install_files(
# "data.presets"
# light_reverb.preset
# )

19
data/CMakeLists.txt → data/sounds/wscript

@ -1,3 +1,5 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
@ -18,8 +20,15 @@
#
# @end:license
add_subdirectory(csound)
add_subdirectory(icons)
add_subdirectory(presets)
add_subdirectory(sounds)
add_subdirectory(symbols)
def build(ctx):
pass
# static_file(metronome.wav)
# render_csound(test_sound.csnd test_sound.wav)
# add_custom_target(
# "data.sounds" ALL
# DEPENDS
# metronome.wav
# test_sound.wav
# )

42
data/symbols/CMakeLists.txt

@ -1,42 +0,0 @@
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
install_svg(
"data.symbols"
accidental-double-flat.svg
accidental-double-sharp.svg
accidental-flat.svg
accidental-natural.svg
accidental-sharp.svg
clef-c.svg
clef-f.svg
clef-g.svg
duration-quintuplet.svg
duration-triplet.svg
note-flag-down.svg
note-head-black.svg
note-head-void.svg
rest-16th.svg
rest-32th.svg
rest-8th.svg
rest-half.svg
rest-quarter.svg
rest-whole.svg
)

47
data/symbols/wscript

@ -0,0 +1,47 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
pass
# install_svg(
# "data.symbols"
# accidental-double-flat.svg
# accidental-double-sharp.svg
# accidental-flat.svg
# accidental-natural.svg
# accidental-sharp.svg
# clef-c.svg
# clef-f.svg
# clef-g.svg
# duration-quintuplet.svg
# duration-triplet.svg
# note-flag-down.svg
# note-head-black.svg
# note-head-void.svg
# rest-16th.svg
# rest-32th.svg
# rest-8th.svg
# rest-half.svg
# rest-quarter.svg
# rest-whole.svg
# )

17
data/sounds/CMakeLists.txt → data/wscript

@ -1,3 +1,5 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2017, Benjamin Niemann <pink@odahoda.de>
@ -18,12 +20,9 @@
#
# @end:license
static_file(metronome.wav)
render_csound(test_sound.csnd test_sound.wav)
add_custom_target(
"data.sounds" ALL
DEPENDS
metronome.wav
test_sound.wav
)
def build(ctx):
ctx.recurse('csound')
ctx.recurse('icons')
ctx.recurse('presets')
ctx.recurse('sounds')
ctx.recurse('symbols')

192
noisicaa/audioproc/engine/CMakeLists.txt

@ -1,192 +0,0 @@
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
add_python_package(
backend.pyi
backend_test.py
block_context.pyi
buffers.pyi
buffer_arena.pyi
engine_perftest.py
engine_test.py
graph.py
message_queue.pyi
player.pyi
plugin_host.pyi
plugin_host_process.py
plugin_host_process_test.py
plugin_host_test.py
plugin_host_ladspa_test.py
plugin_host_lv2_test.py
plugin_ui_host.pyi
processor.pyi
processor_test.py
processor_csound_test.py
processor_plugin_test.py
processor_sound_file_test.py
profile.pyi
realm.pyi
realm_test.py
spec.pyi
)
set(LIB_SRCS
alsa_device_manager.cpp
backend.cpp
backend_null.cpp
backend_portaudio.cpp
backend_renderer.cpp
block_context.cpp
buffer_arena.cpp
buffers.cpp
control_value.cpp
csound_util.cpp
double_buffered_state_manager.cpp
engine.cpp
fluidsynth_util.cpp
misc.cpp
message_queue.cpp
opcodes.cpp
player.cpp
plugin_host.pb.cc
plugin_host.cpp
plugin_host_lv2.cpp
plugin_host_ladspa.cpp
plugin_ui_host.cpp
plugin_ui_host_lv2.cpp
processor.cpp
processor_null.cpp
processor_faust.cpp
processor_csound_base.cpp
processor_csound.cpp
processor_plugin.cpp
processor_plugin.pb.cc
processor_sound_file.cpp
profile.cpp
realtime.cpp
spec.cpp
realm.cpp
)
set(TEST_SRCS
buffers_test.pyx
opcodes_test.pyx
player_test.pyx
spec_test.pyx
)
py_proto(plugin_host.proto)
cpp_proto(plugin_host.proto)
py_proto(processor_plugin.proto)
cpp_proto(processor_plugin.proto)
add_library(noisicaa-audioproc-engine SHARED ${LIB_SRCS})
target_compile_options(noisicaa-audioproc-engine PRIVATE -fPIC -std=c++11 -Wall -Werror -pedantic -DHAVE_PTHREAD_SPIN_LOCK)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-core)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-host_system)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-lv2)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-node_db)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-audioproc-public)
target_link_libraries(noisicaa-audioproc-engine PRIVATE pthread)
target_link_libraries(noisicaa-audioproc-engine PRIVATE rt)
target_link_libraries(noisicaa-audioproc-engine PRIVATE profiler)
target_link_libraries(noisicaa-audioproc-engine PRIVATE rtcheck)
target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-builtin_nodes-processors)
target_include_directories(noisicaa-audioproc-engine PUBLIC ${LIBLILV_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBLILV_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBCSOUND_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBCSOUND_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBFLUIDSYNTH_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBFLUIDSYNTH_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBSNDFILE_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSNDFILE_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBAVUTIL_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBAVUTIL_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBSWRESAMPLE_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSWRESAMPLE_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBPROTOBUF_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBPROTOBUF_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBPORTAUDIO_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBPORTAUDIO_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PUBLIC ${LIBSUIL_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSUIL_LIBRARIES})
target_include_directories(noisicaa-audioproc-engine PRIVATE ${GTK2_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-engine PRIVATE ${GTK2_LIBRARIES})
add_cython_module(spec CXX)
target_link_libraries(${spec.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(buffer_arena CXX)
target_link_libraries(${buffer_arena.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(buffers CXX)
target_link_libraries(${buffers.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(control_value CXX)
target_link_libraries(${control_value.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(processor CXX)
target_link_libraries(${processor.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(block_context CXX)
target_link_libraries(${block_context.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(backend CXX)
target_link_libraries(${backend.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(engine CXX)
target_link_libraries(${engine.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(message_queue CXX)
target_link_libraries(${message_queue.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(plugin_host CXX)
target_link_libraries(${plugin_host.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(plugin_ui_host CXX)
target_link_libraries(${plugin_ui_host.so} PRIVATE noisicaa-audioproc-engine)
target_link_libraries(${plugin_ui_host.so} PRIVATE noisicaa-core)
add_cython_module(realm CXX)
target_link_libraries(${realm.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(player CXX)
target_link_libraries(${player.so} PRIVATE noisicaa-audioproc-engine)
add_cython_module(profile CXX)
target_link_libraries(${profile.so} PRIVATE noisicaa-audioproc-engine)
foreach(TEST_SRC ${TEST_SRCS})
string(REGEX REPLACE "\.pyx$" "" TEST_MOD ${TEST_SRC})
add_cython_module(${TEST_MOD} CXX)
target_link_libraries(${${TEST_MOD}.so} PRIVATE noisicaa-audioproc-engine)
target_include_directories(${${TEST_MOD}.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
target_link_libraries(${${TEST_MOD}.so} PRIVATE ${LIBLILV_LIBRARIES})
endforeach(TEST_SRC)
add_library(rtcheck SHARED rtcheck.c)
add_custom_target(librtcheck_preload ALL DEPENDS librtcheck_preload.so)
add_custom_command(
OUTPUT librtcheck_preload.so
COMMAND gcc -std=c11 -Wall -Werror -pedantic ${CMAKE_CURRENT_LIST_DIR}/rtcheck_preload.c -fPIC -shared -o librtcheck_preload.so -lc -ldl -L${CMAKE_CURRENT_BINARY_DIR} -lrtcheck
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/rtcheck_preload.c rtcheck
)

193
noisicaa/audioproc/engine/wscript

@ -0,0 +1,193 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
ctx.py_module('__init__.py')
#ctx.py_module('backend.pyi')
ctx.py_test('backend_test.py')
#ctx.py_module('block_context.pyi')
#ctx.py_module('buffers.pyi')
#ctx.py_module('buffer_arena.pyi')
ctx.py_test('engine_perftest.py')
ctx.py_test('engine_test.py')
ctx.py_module('graph.py')
#ctx.py_module('message_queue.pyi')
#ctx.py_module('player.pyi')
#ctx.py_module('plugin_host.pyi')
ctx.py_module('plugin_host_process.py')
ctx.py_test('plugin_host_process_test.py')
ctx.py_test('plugin_host_test.py')
ctx.py_test('plugin_host_ladspa_test.py')
ctx.py_test('plugin_host_lv2_test.py')
#ctx.py_module('plugin_ui_host.pyi')
#ctx.py_module('processor.pyi')
ctx.py_test('processor_test.py')
ctx.py_test('processor_csound_test.py')
ctx.py_test('processor_plugin_test.py')
ctx.py_test('processor_sound_file_test.py')
#ctx.py_module('profile.pyi')
#ctx.py_module('realm.pyi')
ctx.py_test('realm_test.py')
#ctx.py_module('spec.pyi')
ctx.py_proto('plugin_host.proto')
ctx.py_proto('processor_plugin.proto')
# set(LIB_SRCS
# alsa_device_manager.cpp
# backend.cpp
# backend_null.cpp
# backend_portaudio.cpp
# backend_renderer.cpp
# block_context.cpp
# buffer_arena.cpp
# buffers.cpp
# control_value.cpp
# csound_util.cpp
# double_buffered_state_manager.cpp
# engine.cpp
# fluidsynth_util.cpp
# misc.cpp
# message_queue.cpp
# opcodes.cpp
# player.cpp
# plugin_host.pb.cc
# plugin_host.cpp
# plugin_host_lv2.cpp
# plugin_host_ladspa.cpp
# plugin_ui_host.cpp
# plugin_ui_host_lv2.cpp
# processor.cpp
# processor_null.cpp
# processor_faust.cpp
# processor_csound_base.cpp
# processor_csound.cpp
# processor_plugin.cpp
# processor_plugin.pb.cc
# processor_sound_file.cpp
# profile.cpp
# realtime.cpp
# spec.cpp
# realm.cpp
# )
# set(TEST_SRCS
# buffers_test.pyx
# opcodes_test.pyx
# player_test.pyx
# spec_test.pyx
# )
ctx.cpp_proto('plugin_host.proto')
ctx.cpp_proto('processor_plugin.proto')
# add_library(noisicaa-audioproc-engine SHARED ${LIB_SRCS})
# target_compile_options(noisicaa-audioproc-engine PRIVATE -fPIC -std=c++11 -Wall -Werror -pedantic -DHAVE_PTHREAD_SPIN_LOCK)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-core)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-host_system)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-lv2)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-node_db)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-audioproc-public)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE pthread)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE rt)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE profiler)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE rtcheck)
# target_link_libraries(noisicaa-audioproc-engine PRIVATE noisicaa-builtin_nodes-processors)
# target_include_directories(noisicaa-audioproc-engine PUBLIC ${LIBLILV_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBLILV_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBCSOUND_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBCSOUND_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBFLUIDSYNTH_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBFLUIDSYNTH_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBSNDFILE_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSNDFILE_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBAVUTIL_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBAVUTIL_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBSWRESAMPLE_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSWRESAMPLE_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBPROTOBUF_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBPROTOBUF_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${LIBPORTAUDIO_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBPORTAUDIO_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PUBLIC ${LIBSUIL_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${LIBSUIL_LIBRARIES})
# target_include_directories(noisicaa-audioproc-engine PRIVATE ${GTK2_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-engine PRIVATE ${GTK2_LIBRARIES})
# add_cython_module(spec CXX)
# target_link_libraries(${spec.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(buffer_arena CXX)
# target_link_libraries(${buffer_arena.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(buffers CXX)
# target_link_libraries(${buffers.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(control_value CXX)
# target_link_libraries(${control_value.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(processor CXX)
# target_link_libraries(${processor.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(block_context CXX)
# target_link_libraries(${block_context.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(backend CXX)
# target_link_libraries(${backend.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(engine CXX)
# target_link_libraries(${engine.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(message_queue CXX)
# target_link_libraries(${message_queue.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(plugin_host CXX)
# target_link_libraries(${plugin_host.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(plugin_ui_host CXX)
# target_link_libraries(${plugin_ui_host.so} PRIVATE noisicaa-audioproc-engine)
# target_link_libraries(${plugin_ui_host.so} PRIVATE noisicaa-core)
# add_cython_module(realm CXX)
# target_link_libraries(${realm.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(player CXX)
# target_link_libraries(${player.so} PRIVATE noisicaa-audioproc-engine)
# add_cython_module(profile CXX)
# target_link_libraries(${profile.so} PRIVATE noisicaa-audioproc-engine)
# foreach(TEST_SRC ${TEST_SRCS})
# string(REGEX REPLACE "\.pyx$" "" TEST_MOD ${TEST_SRC})
# add_cython_module(${TEST_MOD} CXX)
# target_link_libraries(${${TEST_MOD}.so} PRIVATE noisicaa-audioproc-engine)
# target_include_directories(${${TEST_MOD}.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
# target_link_libraries(${${TEST_MOD}.so} PRIVATE ${LIBLILV_LIBRARIES})
# endforeach(TEST_SRC)
# add_library(rtcheck SHARED rtcheck.c)
# add_custom_target(librtcheck_preload ALL DEPENDS librtcheck_preload.so)
# add_custom_command(
# OUTPUT librtcheck_preload.so
# COMMAND gcc -std=c11 -Wall -Werror -pedantic ${CMAKE_CURRENT_LIST_DIR}/rtcheck_preload.c -fPIC -shared -o librtcheck_preload.so -lc -ldl -L${CMAKE_CURRENT_BINARY_DIR} -lrtcheck
# DEPENDS ${CMAKE_CURRENT_LIST_DIR}/rtcheck_preload.c rtcheck
# )

107
noisicaa/audioproc/public/CMakeLists.txt

@ -1,107 +0,0 @@
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
add_python_package(
time_mapper.pyi
musical_time.pyi
transfer_function.pyi
)
set(LIB_SRCS
backend_settings.pb.cc
control_value.pb.cc
devices.pb.cc
engine_notification.pb.cc
host_parameters.pb.cc
instrument_spec.pb.cc
midi_event.pb.cc
musical_time.cpp
musical_time.pb.cc
node_parameters.pb.cc
node_port_properties.pb.cc
player_state.pb.cc
plugin_state.pb.cc
processor_message.pb.cc
project_properties.pb.cc
time_mapper.cpp
transfer_function.cpp
transfer_function.pb.cc
)
set(TEST_SRCS
musical_time_test.pyx
time_mapper_test.pyx
)
cpp_proto(backend_settings.proto)
py_proto(backend_settings.proto)
cpp_proto(instrument_spec.proto)
py_proto(instrument_spec.proto)
cpp_proto(musical_time.proto)
py_proto(musical_time.proto)
cpp_proto(player_state.proto)
py_proto(player_state.proto)
cpp_proto(plugin_state.proto)
py_proto(plugin_state.proto)
cpp_proto(processor_message.proto)
py_proto(processor_message.proto)
cpp_proto(engine_notification.proto)
py_proto(engine_notification.proto)
cpp_proto(devices.proto)
py_proto(devices.proto)
cpp_proto(control_value.proto)
py_proto(control_value.proto)
cpp_proto(host_parameters.proto)
py_proto(host_parameters.proto)
cpp_proto(project_properties.proto)
py_proto(project_properties.proto)
cpp_proto(node_port_properties.proto)
py_proto(node_port_properties.proto)
cpp_proto(node_parameters.proto)
py_proto(node_parameters.proto)
cpp_proto(midi_event.proto)
py_proto(midi_event.proto)
cpp_proto(transfer_function.proto)
py_proto(transfer_function.proto)
add_library(noisicaa-audioproc-public SHARED ${LIB_SRCS})
target_compile_options(noisicaa-audioproc-public PRIVATE -fPIC -std=c++11 -Wall -Werror -pedantic -DHAVE_PTHREAD_SPIN_LOCK)
set_source_files_properties(
processor_message.pb.cc PROPERTIES COMPILE_FLAGS -Wno-misleading-indentation)
target_link_libraries(noisicaa-audioproc-public PRIVATE noisicaa-core)
target_include_directories(noisicaa-audioproc-public PRIVATE ${LIBPROTOBUF_INCLUDE_DIRS})
target_link_libraries(noisicaa-audioproc-public PRIVATE ${LIBPROTOBUF_LIBRARIES})
add_cython_module(musical_time CXX)
target_link_libraries(${musical_time.so} PRIVATE noisicaa-audioproc-public)
add_cython_module(time_mapper CXX)
target_link_libraries(${time_mapper.so} PRIVATE noisicaa-audioproc-public)
add_cython_module(transfer_function CXX)
target_link_libraries(${transfer_function.so} PRIVATE noisicaa-audioproc-public)
foreach(TEST_SRC ${TEST_SRCS})
string(REGEX REPLACE "\.pyx$" "" TEST_MOD ${TEST_SRC})
add_cython_module(${TEST_MOD} CXX)
target_link_libraries(${${TEST_MOD}.so} PRIVATE noisicaa-audioproc-public)
target_include_directories(${${TEST_MOD}.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
target_link_libraries(${${TEST_MOD}.so} PRIVATE ${LIBLILV_LIBRARIES})
endforeach(TEST_SRC)

110
noisicaa/audioproc/public/wscript

@ -0,0 +1,110 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
ctx.py_module('__init__.py')
#ctx.py_module('time_mapper.pyi')
#ctx.py_module('musical_time.pyi')
#ctx.py_module('transfer_function.pyi')
ctx.py_proto('backend_settings.proto')
ctx.py_proto('instrument_spec.proto')
ctx.py_proto('musical_time.proto')
ctx.py_proto('player_state.proto')
ctx.py_proto('plugin_state.proto')
ctx.py_proto('processor_message.proto')
ctx.py_proto('engine_notification.proto')
ctx.py_proto('devices.proto')
ctx.py_proto('control_value.proto')
ctx.py_proto('host_parameters.proto')
ctx.py_proto('project_properties.proto')
ctx.py_proto('node_port_properties.proto')
ctx.py_proto('node_parameters.proto')
ctx.py_proto('midi_event.proto')
ctx.py_proto('transfer_function.proto')
# set(LIB_SRCS
# backend_settings.pb.cc
# control_value.pb.cc
# devices.pb.cc
# engine_notification.pb.cc
# host_parameters.pb.cc
# instrument_spec.pb.cc
# midi_event.pb.cc
# musical_time.cpp
# musical_time.pb.cc
# node_parameters.pb.cc
# node_port_properties.pb.cc
# player_state.pb.cc
# plugin_state.pb.cc
# processor_message.pb.cc
# project_properties.pb.cc
# time_mapper.cpp
# transfer_function.cpp
# transfer_function.pb.cc
# )
# set(TEST_SRCS
# musical_time_test.pyx
# time_mapper_test.pyx
# )
ctx.cpp_proto('backend_settings.proto')
ctx.cpp_proto('instrument_spec.proto')
ctx.cpp_proto('musical_time.proto')
ctx.cpp_proto('player_state.proto')
ctx.cpp_proto('plugin_state.proto')
ctx.cpp_proto('processor_message.proto')
ctx.cpp_proto('engine_notification.proto')
ctx.cpp_proto('devices.proto')
ctx.cpp_proto('control_value.proto')
ctx.cpp_proto('host_parameters.proto')
ctx.cpp_proto('project_properties.proto')
ctx.cpp_proto('node_port_properties.proto')
ctx.cpp_proto('node_parameters.proto')
ctx.cpp_proto('midi_event.proto')
ctx.cpp_proto('transfer_function.proto')
# add_library(noisicaa-audioproc-public SHARED ${LIB_SRCS})
# target_compile_options(noisicaa-audioproc-public PRIVATE -fPIC -std=c++11 -Wall -Werror -pedantic -DHAVE_PTHREAD_SPIN_LOCK)
# set_source_files_properties(
# processor_message.pb.cc PROPERTIES COMPILE_FLAGS -Wno-misleading-indentation)
# target_link_libraries(noisicaa-audioproc-public PRIVATE noisicaa-core)
# target_include_directories(noisicaa-audioproc-public PRIVATE ${LIBPROTOBUF_INCLUDE_DIRS})
# target_link_libraries(noisicaa-audioproc-public PRIVATE ${LIBPROTOBUF_LIBRARIES})
# add_cython_module(musical_time CXX)
# target_link_libraries(${musical_time.so} PRIVATE noisicaa-audioproc-public)
# add_cython_module(time_mapper CXX)
# target_link_libraries(${time_mapper.so} PRIVATE noisicaa-audioproc-public)
# add_cython_module(transfer_function CXX)
# target_link_libraries(${transfer_function.so} PRIVATE noisicaa-audioproc-public)
# foreach(TEST_SRC ${TEST_SRCS})
# string(REGEX REPLACE "\.pyx$" "" TEST_MOD ${TEST_SRC})
# add_cython_module(${TEST_MOD} CXX)
# target_link_libraries(${${TEST_MOD}.so} PRIVATE noisicaa-audioproc-public)
# target_include_directories(${${TEST_MOD}.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
# target_link_libraries(${${TEST_MOD}.so} PRIVATE ${LIBLILV_LIBRARIES})
# endforeach(TEST_SRC)

24
testdata/lv2/test-state.lv2/CMakeLists.txt → noisicaa/audioproc/wscript

@ -1,3 +1,5 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
@ -18,18 +20,14 @@
#
# @end:license
add_library(testdata-lv2-state-plugin MODULE state.c)
set_target_properties(testdata-lv2-state-plugin PROPERTIES
PREFIX ""
OUTPUT_NAME state
)
def build(ctx):
ctx.py_module('__init__.py')
ctx.py_module('audioproc_client.py')
ctx.py_test('audioproc_client_test.py')
ctx.py_module('audioproc_process.py')
ctx.py_proto('audioproc.proto')
ctx.recurse('engine')
ctx.recurse('public')
static_file(manifest.ttl)
static_file(state.ttl)
add_custom_target(
testdata-lv2-state-data ALL
DEPENDS
manifest.ttl
state.ttl
)

49
noisicaa/bindings/wscript

@ -0,0 +1,49 @@
# -*- mode: python -*-
# @begin:license
#
# Copyright (c) 2015-2019, Benjamin Niemann <pink@odahoda.de>
#
# 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
# (at your option) 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.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# @end:license
def build(ctx):
ctx.py_module('__init__.py')
#ctx.py_module('ladspa.pyi')
#ctx.py_module('lilv.pyi')
#ctx.py_module('sndfile.pyi')
ctx.py_test('sndfile_test.py')
#ctx.py_module('sratom.pyi')
ctx.py_test('sratom_test.py')
# add_cython_module(ladspa CXX)
# add_cython_module(ladspa_test CXX)
# add_cython_module(lilv CXX)
# target_include_directories(${lilv.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
# target_link_libraries(${lilv.so} PRIVATE ${LIBLILV_LIBRARIES})
# add_cython_module(lilv_test CXX)
# target_include_directories(${lilv_test.so} PRIVATE ${LIBLILV_INCLUDE_DIRS})
# add_cython_module(sndfile CXX)
# target_include_directories(${sndfile.so} PRIVATE ${LIBSNDFILE_INCLUDE_DIRS})
# target_link_libraries(${sndfile.so} PRIVATE ${LIBSNDFILE_LIBRARIES})
# add_cython_module(sratom CXX)
# target_include_directories(${sratom.so} PRIVATE ${LIBSRATOM_INCLUDE_DIRS})
# target_link_libraries(${sratom.so} PRIVATE ${LIBSRATOM_LIBRARIES})

83
noisicaa/builtin_nodes/CMakeLists.txt

@ -1,83 +0,0 @@