Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
6b774dc
Initial check in of dsp module
kunitoki Jul 20, 2025
d3d322e
More work
kunitoki Jul 20, 2025
f7d843d
Improved work
kunitoki Jul 20, 2025
c632e6e
More work
kunitoki Jul 21, 2025
96eb2d1
Fix
kunitoki Jul 21, 2025
4abf84f
Fix just test
kunitoki Jul 21, 2025
e9743aa
Merge branch 'main' into dev/dsp
kunitoki Jul 21, 2025
b32e093
More tweaks
kunitoki Jul 21, 2025
b6f6948
Code formatting
yup-bot Jul 21, 2025
3989abc
More tweaks
kunitoki Jul 21, 2025
29d43e0
Code formatting
yup-bot Jul 21, 2025
c36617f
Remove already present functions
kunitoki Jul 21, 2025
ebb88c7
Code formatting
yup-bot Jul 21, 2025
0d12bd1
Fix compilation
kunitoki Jul 21, 2025
1a461c5
Code formatting
yup-bot Jul 21, 2025
252c268
Improve FIR
kunitoki Jul 21, 2025
525405e
Fix issues
kunitoki Jul 21, 2025
157da85
Fix ooura
kunitoki Jul 21, 2025
1c98fff
Code formatting
yup-bot Jul 21, 2025
dd4acc1
More tweaking
kunitoki Jul 22, 2025
99779bf
More work
kunitoki Jul 22, 2025
2dfb4a3
Avoid resetting butterworth
kunitoki Jul 22, 2025
41c5f03
Code formatting
yup-bot Jul 22, 2025
56a2932
Updated demo
kunitoki Jul 22, 2025
cd07058
More tweaks
kunitoki Jul 22, 2025
1905686
Only keep working filters
kunitoki Jul 22, 2025
a1fc7fa
Code formatting
yup-bot Jul 22, 2025
e66873c
Improved
kunitoki Jul 22, 2025
27a4da1
More work
kunitoki Jul 22, 2025
9790835
More tweaks
kunitoki Jul 22, 2025
ca542c1
More work
kunitoki Jul 22, 2025
96d56ad
Unit tests for RBJ
kunitoki Jul 22, 2025
a72221d
More tests
kunitoki Jul 22, 2025
9dedf85
More tweaks
kunitoki Jul 22, 2025
ff967c6
More tests
kunitoki Jul 22, 2025
3b1ae73
More tweaks
kunitoki Jul 23, 2025
72dbf28
Fix it
kunitoki Jul 23, 2025
4f5f2b3
More methods
kunitoki Jul 23, 2025
1a91012
Ok let's keep the butterworth
kunitoki Jul 23, 2025
24a3ca8
More fixes
kunitoki Jul 23, 2025
9672808
More tweaks
kunitoki Jul 23, 2025
c87bf50
More work on FFT
kunitoki Jul 24, 2025
36bb20f
More fft work
kunitoki Jul 24, 2025
cb912d6
More tweaks
kunitoki Jul 24, 2025
b4c4d8b
More work, fftw3 works !
kunitoki Jul 24, 2025
1b94766
More tweaks
kunitoki Jul 24, 2025
268ca9a
Improved spectrum
kunitoki Jul 24, 2025
4fe38de
More work
kunitoki Jul 24, 2025
316287a
Much better spectrum
kunitoki Jul 24, 2025
8905969
More work
kunitoki Jul 24, 2025
3463937
More tweaks
kunitoki Jul 24, 2025
dfe8e3a
Merge branch 'dev/dsp2' into dev/dsp
kunitoki Jul 24, 2025
7967b99
Code formatting
yup-bot Jul 24, 2025
c6d3383
Disable fftw3 in tests
kunitoki Jul 24, 2025
4bd54d7
More tweaks
kunitoki Jul 24, 2025
d9340f5
More docs
kunitoki Jul 24, 2025
02cad90
Super responsive FFT with overlap processing
kunitoki Jul 24, 2025
50571b1
Code formatting
yup-bot Jul 24, 2025
48dff24
Fix failing
kunitoki Jul 24, 2025
c2609cb
More eye candy
kunitoki Jul 24, 2025
c97b8f7
More tweaks
kunitoki Jul 24, 2025
bcc44d3
More test coverage
kunitoki Jul 24, 2025
7df40ee
Fix slider
kunitoki Jul 24, 2025
00871a0
Disable failures
kunitoki Jul 24, 2025
eb1a9fc
Fix biquad tests
kunitoki Jul 25, 2025
9736565
More restructure
kunitoki Jul 25, 2025
1738b21
More tweaks
kunitoki Jul 25, 2025
bd8322b
Fix mode
kunitoki Jul 25, 2025
3e15b1c
More tweaks
kunitoki Jul 25, 2025
f957c30
Code formatting
yup-bot Jul 25, 2025
71acc93
Improve design
kunitoki Jul 25, 2025
ddb1a58
Code formatting
yup-bot Jul 25, 2025
d7fba7c
Smoothing
kunitoki Jul 25, 2025
2eae6e1
Code formatting
yup-bot Jul 25, 2025
3be14b3
Improved butterworth
kunitoki Aug 3, 2025
2ef1834
More work on butterworth
kunitoki Aug 3, 2025
dfd89c1
Improve ui
kunitoki Aug 3, 2025
7162743
More work for bandpass and bandstop
kunitoki Aug 4, 2025
4d09b3f
More work
kunitoki Aug 4, 2025
755ff6a
Fix biquad cascade
kunitoki Aug 4, 2025
d6d480c
Fixes ringing
kunitoki Aug 4, 2025
924076b
Freq2 update
kunitoki Aug 4, 2025
3bc050c
Fixes
kunitoki Aug 4, 2025
b3d247b
Improved butterworth design
kunitoki Aug 4, 2025
1ec998a
Improved
kunitoki Aug 4, 2025
927fc25
Butterworth filter
kunitoki Aug 4, 2025
a66b189
Code formatting
yup-bot Aug 4, 2025
098ea84
More tests
kunitoki Aug 4, 2025
10c6bce
Work on linkwitz riley
kunitoki Aug 4, 2025
1a59a24
Fix Linkwitz riley
kunitoki Aug 4, 2025
82ae767
Added RecursiveSpinLock
kunitoki Aug 4, 2025
4a408ee
Improvement
kunitoki Aug 6, 2025
085ca60
Fix
kunitoki Aug 6, 2025
880e42f
Fix tests
kunitoki Aug 6, 2025
e3508e2
More tests
kunitoki Aug 6, 2025
cd21e91
More fixes
kunitoki Aug 6, 2025
27bb337
More work
kunitoki Aug 6, 2025
fb4c83a
Fix it
kunitoki Aug 6, 2025
5f8c013
Code formatting
yup-bot Aug 6, 2025
9fd71e0
Avoid stack overflow in emscripten
kunitoki Aug 6, 2025
cc87c00
Fix biquad and svf tests
kunitoki Aug 6, 2025
8895a6d
Fix midi in wasm
kunitoki Aug 7, 2025
54e429c
Cosmetics
kunitoki Aug 7, 2025
efac143
More testing
kunitoki Aug 7, 2025
a0c5243
Remove STDIO from dr_libs
kunitoki Aug 7, 2025
b03178f
More test fixes
kunitoki Aug 7, 2025
804b63e
More tweaks
kunitoki Aug 7, 2025
84f20f0
Code formatting
yup-bot Aug 7, 2025
1404710
More tweaks
kunitoki Aug 7, 2025
d7632bd
Code formatting
yup-bot Aug 7, 2025
e82cdde
More fixes for sse
kunitoki Aug 7, 2025
8ea2446
Fix
kunitoki Aug 7, 2025
2f164ff
Fix windows tests not reporting failures
kunitoki Aug 7, 2025
92856f8
Remove not needed convertFixedToFloat and convertFloatToFixed
kunitoki Aug 7, 2025
77f4651
Remove problematic parts in python detection and add prints
kunitoki Aug 7, 2025
1114fcb
Remove FFT output to console in tests
kunitoki Aug 7, 2025
46d50af
Remove type error in python archive tool
kunitoki Aug 7, 2025
512014e
Code formatting
yup-bot Aug 7, 2025
4499dfe
Add verbose to the python make archive
kunitoki Aug 7, 2025
e3a005b
More testing
kunitoki Aug 7, 2025
c04955c
Output full python path in output
kunitoki Aug 7, 2025
f4d1b08
Print more python folder
kunitoki Aug 7, 2025
dbfc41b
Again need more visibility
kunitoki Aug 7, 2025
3c1b169
Make windows python work
kunitoki Aug 7, 2025
1119725
Fix passing argument to python tool
kunitoki Aug 7, 2025
853dc94
Rebuild desktop builds in CI when python changes
kunitoki Aug 7, 2025
f650ba5
More stuff
kunitoki Aug 7, 2025
43594c8
More tweaks for python on windows
kunitoki Aug 7, 2025
a203ed5
More tweaks
kunitoki Aug 7, 2025
113e46c
Switch to use platlibdir and stdlibdir for python on windows
kunitoki Aug 7, 2025
a6a4f18
More python fixes on windows
kunitoki Aug 7, 2025
b37a8d6
More tweaks
kunitoki Aug 8, 2025
f442905
Code formatting
yup-bot Aug 8, 2025
739074f
More tweaks
kunitoki Aug 8, 2025
eeb3fcd
Disable running windows python tests for now
kunitoki Aug 8, 2025
344e6bb
More tweaks
kunitoki Aug 8, 2025
f13e3b3
Fix string functions on windows
kunitoki Aug 8, 2025
d6a4612
Try to fix things
kunitoki Aug 9, 2025
f025588
Comment for now
kunitoki Aug 9, 2025
2a9e0be
Code formatting
yup-bot Aug 9, 2025
7570bba
Fix
kunitoki Aug 9, 2025
5dba5a8
Improve string reversal
kunitoki Aug 10, 2025
ca7c5e9
Code formatting
yup-bot Aug 10, 2025
3dad9cb
Revert old working tests
kunitoki Aug 10, 2025
27bab4b
Try again
kunitoki Aug 10, 2025
0cb5398
Code formatting
yup-bot Aug 10, 2025
22e5186
Avoid issues in unity builds
kunitoki Aug 10, 2025
2dabc52
We can't make it work
kunitoki Aug 10, 2025
6c122f5
Fixes for unity build
kunitoki Aug 10, 2025
bcde014
Fix tests
kunitoki Aug 10, 2025
a88aacf
More work on CartesianPlane
kunitoki Aug 10, 2025
3bc3b9a
Code formatting
yup-bot Aug 10, 2025
059af53
More tweaks
kunitoki Aug 10, 2025
aa06daa
Code formatting
yup-bot Aug 10, 2025
ab6bb10
More images
kunitoki Aug 21, 2025
98de974
README fixes
kunitoki Aug 21, 2025
ba0703f
More updates
kunitoki Aug 21, 2025
c8f8347
Readme fixes
kunitoki Aug 21, 2025
04c8d02
Fixes
kunitoki Aug 21, 2025
52fd0ba
Fixes
kunitoki Aug 21, 2025
8b3c27d
Fixes
kunitoki Aug 21, 2025
03be8ef
Fixes
kunitoki Aug 21, 2025
2b4c89f
More tweaks
kunitoki Aug 21, 2025
988e91e
Fixes
kunitoki Aug 21, 2025
a289b8f
Fixes
kunitoki Aug 21, 2025
9cd1673
Fixes
kunitoki Aug 21, 2025
ab3ddcc
More tweaks
kunitoki Aug 21, 2025
67a6012
More fixes
kunitoki Aug 21, 2025
b2eea37
Fixes
kunitoki Aug 21, 2025
fa5248e
Fixes
kunitoki Aug 21, 2025
b3caf63
Fixes
kunitoki Aug 21, 2025
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
1 change: 1 addition & 0 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- "**/cmake/**"
- "**/examples/**"
- "**/modules/**"
- "**/python/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- "**/cmake/**"
- "**/examples/**"
- "**/modules/**"
- "**/python/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/build_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- "**/cmake/**"
- "**/examples/**"
- "**/modules/**"
- "**/python/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
Expand Down Expand Up @@ -36,9 +37,11 @@ jobs:
- run: cmake --build ${{ runner.workspace }}/build --config Debug --parallel 4 --target yup_tests
- working-directory: ${{ runner.workspace }}/build/tests/Debug
run: ./yup_tests.exe
shell: bash
- run: cmake --build ${{ runner.workspace }}/build --config Release --parallel 4 --target yup_tests
- working-directory: ${{ runner.workspace }}/build/tests/Release
run: ./yup_tests.exe
shell: bash

build_console:
runs-on: windows-latest
Expand Down
17 changes: 14 additions & 3 deletions guidelines.md → CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,8 @@ TEST (ClassNameTests, StaticMethodBehavesCorrectly)
4. **Group related tests** in test fixtures
5. **Keep tests independent** and deterministic
6. **Never Use C or C++ macros (like M_PI)** use yup alternatives
7. **ALWAYS and EXCLUSIVELY use `just test`** to compile and execute tests
7. **EXCLUSIVELY use `just test`** to compile and execute tests
8. **NEVER start compilation or tests** unless told explicitly

### When suggesting refactoring:
1. **Maintain existing API contracts**
Expand Down Expand Up @@ -358,9 +359,12 @@ Before suggesting code, verify:
- [ ] Allman-style braces throughout
- [ ] Consistent naming conventions
- [ ] Proper include order and guards
- [ ] const-correctness where applicable
- [ ] Const-correctness whenever applicable
- [ ] Prefer flatter code and early exits over overly indented code
- [ ] Aim at simplifying and removing duplicated code, prefer removing rather than adding
- [ ] When changing implementation, don't copy it and change it, adapt the existing or remove the old one once the new is in place and working
- [ ] Platform-specific code properly guarded
- [ ] Tests cover the new functionality
- [ ] Proper TDD and ensure tests cover new functionality
- [ ] No memory leaks (prefer RAII/smart pointers)
- [ ] Thread safety considerations if applicable
- [ ] Documentation for public APIs
Expand Down Expand Up @@ -393,4 +397,11 @@ void processText (const yup::String& text);
// Use std::string only when interfacing with non-YUP code
```

## Differences with JUCE

- We use American english in YUP, so it's `center` and not `centred`, or `Color` and not `Colour`
- Always check the available API in the Graphics class, don't assume we use JUCE Graphics classes
- Graphics primitives have a template `.to<float>` method not `toFloat`
- Fonts are obtained via ApplicationTheme, don't try to instantiate fonts inline

This document should be referenced for every code generation, review, and suggestion task in the YUP project.
36 changes: 24 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
# YUP: Cross-Platform Application And Plugin Development Library

<p float="left">
<div style="display: flex; width: 100%; flex-wrap: nowrap;">
<a href="https://kunitoki.github.io/yup/demos/web_render_0/" title="UI courtesy from https://www.drywestdesign.com/">
<img src="./docs/demos/web_render_0.png" width="99%" /></a>
<p>

<p float="left">
<a href="https://kunitoki.github.io/yup/demos/web_render_1/"><img src="./docs/demos/web_render_1.png" width="24%" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_2/"><img src="./docs/demos/web_render_2.png" width="24%" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_3/"><img src="./docs/demos/web_render_3.png" width="24%" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_4/"><img src="./docs/demos/web_render_4.png" width="23%" /></a>
<img src="./docs/demos/web_render_0.png" style="width:100%" /></a>
</div>

<div style="display: flex; width: 100%; flex-wrap: nowrap;">
<a href="https://kunitoki.github.io/yup/demos/web_render_1/"><img src="./docs/demos/web_render_1.png" style="width:24.25%;" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_2/"><img src="./docs/demos/web_render_2.png" style="width:24.25%;" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_3/"><img src="./docs/demos/web_render_3.png" style="width:24.25%;" /></a>
<a href="https://kunitoki.github.io/yup/demos/web_render_4/"><img src="./docs/demos/web_render_4.png" style="width:24.25%;" /></a>
</div>

<div style="display: flex; width: 100%; flex-wrap: nowrap;">
<a href="./examples/graphics/source/examples/FilterDemo.h"><img src="./docs/images/yup_dsp_filter_rbj.png" style="width:27%;" /></a>
<a href="./examples/graphics/source/examples/FilterDemo.h"><img src="./docs/images/yup_dsp_filter_butter.png" style="width:27%;" /></a>
<a href="./examples/graphics/source/examples/CrossoverDemo.h"><img src="./docs/images/yup_dsp_crossover.png" style="width:44%;" /></a>
</div>

<div style="display: flex; width: 100%; flex-wrap: nowrap;">
<a href="./examples/graphics/source/examples/SpectrumAnalyzer.h"><img src="./docs/images/yup_dsp_spectrum_fill.png" style="width:100%;" /></a>
<a href="./examples/graphics/source/examples/SpectrumAnalyzer.h"><img src="./docs/images/yup_dsp_spectrum_line.png" style="width:100%;" /></a>
</p>

Example Rive animation display ([source code](./examples/render/source/main.cpp)):
Expand All @@ -35,6 +46,10 @@ YUP is an open-source library dedicated to empowering developers with advanced t
> The project is still in embryonic stage, use it at your own risk!


> [!IMPORTANT]
> We are looking for collaborators to bring forward the framework!


## Features
YUP brings a suite of powerful features, including:
- **High-Performance Rendering:** From intricate visualizations to high-speed gaming graphics, YUP handles it all with ease and efficiency, relying on the open source [Rive](https://rive.app/) Renderer, backed by Metal, Direct3D, OpenGL, Vulkan and WebGPU.
Expand Down Expand Up @@ -320,9 +335,6 @@ For full documentation, including more detailed tutorials and comprehensive API
Join our growing community and contribute to the YUP project. Connect with us and other YUP developers:
- **GitHub:** [YUP Repository](https://github.com/kunitoki/yup)

> [!IMPORTANT]
> We are looking for collaborators to bring forward the framework!


## License
YUP is distributed under the ISC License, supporting both personal and commercial use, modification, and distribution without restrictions.
Expand Down
23 changes: 23 additions & 0 deletions cmake/yup_dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,26 @@ macro (_yup_fetch_python use_static_libs modules)
find_package (Python REQUIRED COMPONENTS ${modules})
endif()
endmacro()

#==============================================================================

function (_yup_find_fftw3 target_name)
if (TARGET PkgConfig::FFTW AND TARGET FFTW::Float)
else()
find_package (PkgConfig REQUIRED)
pkg_check_modules (FFTW IMPORTED_TARGET REQUIRED fftw3)
find_library (FFTWF_LIB NAMES "fftw3f" PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR})

if (FFTWF_LIB)
add_library (FFTW::Float INTERFACE IMPORTED)
set_target_properties (FFTW::Float
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FFTW_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${FFTWF_LIB}")
else()
_yup_message (FATAL_ERROR "FFTW3 library not found")
endif()
endif()

target_include_directories (${target_name} PRIVATE PkgConfig::FFTW)
target_link_libraries (${target_name} PRIVATE FFTW::Float)
endfunction()
45 changes: 31 additions & 14 deletions cmake/yup_modules.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ function (_yup_module_collect_sources folder output_variable)
set (base_path "${folder}/${module_name}")
set (all_module_sources "")

foreach (extension ${source_extensions})
foreach (extension IN LISTS source_extensions)
file (GLOB found_source_files "${base_path}*${extension}")

if (NOT YUP_PLATFORM_MSFT)
Expand Down Expand Up @@ -118,7 +118,7 @@ function (_yup_module_collect_sources folder output_variable)
endforeach()

set (module_sources "")
foreach (module_source ${all_module_sources})
foreach (module_source IN LISTS all_module_sources)
if (APPLE)
if (module_source MATCHES "^.*\.(cc|cxx|cpp)$")
get_filename_component (source_directory ${module_source} DIRECTORY)
Expand Down Expand Up @@ -146,11 +146,11 @@ endfunction()

function (_yup_module_prepare_frameworks frameworks weak_frameworks output_variable)
set (temp_frameworks "")
foreach (framework ${frameworks})
foreach (framework IN LISTS frameworks)
list (APPEND temp_frameworks "-framework ${framework}")
endforeach()

foreach (framework ${weak_frameworks})
foreach (framework IN LISTS weak_frameworks)
list (APPEND temp_frameworks "-weak_framework ${framework}")
endforeach()

Expand Down Expand Up @@ -345,7 +345,7 @@ function (yup_add_module module_path modules_definitions module_group)
set (platform_properties "^(.*)Deps$|^(.*)Defines$|^(.*)Libs$|^(.*)Frameworks$|^(.*)WeakFrameworks$|^(.*)Options$|^(.*)LinkOptions$|^(.*)Packages$|^(.*)Searchpaths$|^(.*)CppStandard$")

set (parsed_config "")
foreach (module_config ${module_configs})
foreach (module_config IN LISTS module_configs)
string (REGEX REPLACE "^(.+):[ \t\r\n]+(.+)$" "\\1;\\2" parsed_config ${module_config})
list (GET parsed_config 0 key)
list (LENGTH parsed_config parsed_config_len)
Expand Down Expand Up @@ -452,7 +452,7 @@ function (yup_add_module module_path modules_definitions module_group)
list (APPEND module_link_options ${module_linuxLinkOptions})
_yup_resolve_variable_paths ("${module_linuxSearchpaths}" module_linuxSearchpaths)
list (APPEND module_searchpaths ${module_linuxSearchpaths})
foreach (package ${module_linuxPackages})
foreach (package IN LISTS module_linuxPackages)
_yup_get_package_config_libs ("${package}" package_libs)
list (APPEND module_libs ${package_libs})
endforeach()
Expand Down Expand Up @@ -505,15 +505,15 @@ function (yup_add_module module_path modules_definitions module_group)
endif()

# ==== Add module definitions
foreach (module_definition ${modules_definitions})
foreach (module_definition IN LISTS modules_definitions)
list (APPEND module_defines ${module_definition})
endforeach()

# ==== Prepare include paths
get_filename_component (module_include_path ${module_path} DIRECTORY)
list (APPEND module_include_paths "${module_include_path}")

foreach (searchpath ${module_searchpaths})
foreach (searchpath IN LISTS module_searchpaths)
if (EXISTS "${searchpath}")
list (APPEND module_include_paths "${searchpath}")
elseif (EXISTS "${module_path}/${searchpath}")
Expand Down Expand Up @@ -619,30 +619,47 @@ macro (yup_add_default_modules modules_path)
yup_add_module (${modules_path}/thirdparty/rive_decoders "${modules_definitions}" ${thirdparty_group})
yup_add_module (${modules_path}/thirdparty/rive_renderer "${modules_definitions}" ${thirdparty_group})
yup_add_module (${modules_path}/thirdparty/oboe_library "${modules_definitions}" ${thirdparty_group})
yup_add_module (${modules_path}/thirdparty/pffft_library "${modules_definitions}" ${thirdparty_group})
yup_add_module (${modules_path}/thirdparty/dr_libs "${modules_definitions}" ${thirdparty_group})

# ==== Yup modules
set (modules_group "Modules")
yup_add_module (${modules_path}/modules/yup_core "${modules_definitions}" ${modules_group})
add_library (yup::yup_core ALIAS yup_core)

yup_add_module (${modules_path}/modules/yup_events "${modules_definitions}" ${modules_group})
add_library (yup::yup_events ALIAS yup_events)

yup_add_module (${modules_path}/modules/yup_data_model "${modules_definitions}" ${modules_group})
add_library (yup::yup_data_model ALIAS yup_data_model)

yup_add_module (${modules_path}/modules/yup_dsp "${modules_definitions}" ${modules_group})
add_library (yup::yup_dsp ALIAS yup_dsp)

yup_add_module (${modules_path}/modules/yup_graphics "${modules_definitions}" ${modules_group})
add_library (yup::yup_graphics ALIAS yup_graphics)

yup_add_module (${modules_path}/modules/yup_gui "${modules_definitions}" ${modules_group})
add_library (yup::yup_gui ALIAS yup_gui)

yup_add_module (${modules_path}/modules/yup_audio_basics "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_basics ALIAS yup_audio_basics)

yup_add_module (${modules_path}/modules/yup_audio_devices "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_devices ALIAS yup_audio_devices)

yup_add_module (${modules_path}/modules/yup_audio_formats "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_formats ALIAS yup_audio_formats)

yup_add_module (${modules_path}/modules/yup_audio_processors "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_processors ALIAS yup_audio_processors)
yup_add_module (${modules_path}/modules/yup_audio_plugin_client "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_plugin_client ALIAS yup_audio_plugin_client)
yup_add_module (${modules_path}/modules/yup_graphics "${modules_definitions}" ${modules_group})
add_library (yup::yup_graphics ALIAS yup_graphics)
yup_add_module (${modules_path}/modules/yup_gui "${modules_definitions}" ${modules_group})
add_library (yup::yup_gui ALIAS yup_gui)

yup_add_module (${modules_path}/modules/yup_audio_gui "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_gui ALIAS yup_audio_gui)

yup_add_module (${modules_path}/modules/yup_audio_plugin_client "${modules_definitions}" ${modules_group})
add_library (yup::yup_audio_plugin_client ALIAS yup_audio_plugin_client)

if (YUP_ARG_ENABLE_PYTHON)
if (NOT YUP_BUILD_WHEEL)
set (python_modules "Interpreter;Development.Embed")
Expand Down
17 changes: 16 additions & 1 deletion cmake/yup_python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,34 @@ function (yup_prepare_python_stdlib target_name python_tools_path output_variabl

set (python_standard_library "${CMAKE_CURRENT_BINARY_DIR}/python${Python_VERSION_MAJOR}${Python_VERSION_MINOR}.zip")

if (YUP_PLATFORM_WINDOWS)
set (python_version_string "${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}.${Python_VERSION_PATCH}")
set (python_embeddable_url "https://www.python.org/ftp/python/${python_version_string}/python-${python_version_string}-embed-amd64.zip")
FetchContent_Declare (python_embed_env URL ${python_embeddable_url})
if (NOT python_embed_env_POPULATED)
FetchContent_Populate(python_embed_env)
endif()

get_filename_component (python_root_path "${python_embed_env_SOURCE_DIR}" REALPATH)
else()
get_filename_component (python_root_path "${Python_LIBRARY_DIRS}" REALPATH)
endif()

_yup_message (STATUS "Executing python stdlib archive generator tool")
_yup_message (STATUS " * CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}")
_yup_message (STATUS " * Python_EXECUTABLE: ${Python_EXECUTABLE}")
_yup_message (STATUS " * Python_LIBRARY_DIRS: ${Python_LIBRARY_DIRS}")
_yup_message (STATUS " * Python_VERSION_MAJOR: ${Python_VERSION_MAJOR}")
_yup_message (STATUS " * Python_VERSION_MINOR: ${Python_VERSION_MINOR}")
_yup_message (STATUS " * Python_VERSION_PATCH: ${Python_VERSION_PATCH}")
_yup_message (STATUS " * python_root_path: ${python_root_path}")
_yup_message (STATUS " * python_tools_path: ${python_tools_path}")
_yup_message (STATUS " * ignored_library_patterns: ${ignored_library_patterns}")

execute_process (
COMMAND
"${Python_EXECUTABLE}" "${python_tools_path}/ArchivePythonStdlib.py"
-l "${Python_LIBRARY_DIRS}" -o "${CMAKE_CURRENT_BINARY_DIR}" -M "${Python_VERSION_MAJOR}" -m "${Python_VERSION_MINOR}"
-r "${python_root_path}" -o "${CMAKE_CURRENT_BINARY_DIR}" -M "${Python_VERSION_MAJOR}" -m "${Python_VERSION_MINOR}"
-x "\"${ignored_library_patterns}\""
COMMAND_ECHO STDOUT
COMMAND_ERROR_IS_FATAL ANY)
Expand Down
Binary file modified docs/demos/web_render_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/demos/web_render_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/demos/web_render_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/demos/web_render_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/yup_dsp_crossover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/yup_dsp_filter_butter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/yup_dsp_filter_rbj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/yup_dsp_spectrum_fill.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/yup_dsp_spectrum_line.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions examples/graphics/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,15 @@ yup_standalone_app (
yup::yup_core
yup::yup_audio_basics
yup::yup_audio_devices
yup::yup_dsp
yup::yup_events
yup::yup_graphics
yup::yup_gui
yup::yup_audio_gui
yup::yup_audio_processors
yup::yup_audio_formats
pffft_library
dr_libs
libpng
libwebp
${additional_modules}
Expand Down
Binary file not shown.
Loading