├── CHANGELOG.md
├── LICENSE-examples.txt
├── LICENSE.txt
├── README.md
├── cmake
├── macos
│ ├── Spectrex-debug.cmake
│ ├── Spectrex-release.cmake
│ └── Spectrex.cmake
└── msvc
│ ├── v142
│ ├── MD
│ │ ├── Win32
│ │ │ ├── Spectrex-debug.cmake
│ │ │ ├── Spectrex-release.cmake
│ │ │ └── Spectrex.cmake
│ │ └── x64
│ │ │ ├── Spectrex-debug.cmake
│ │ │ ├── Spectrex-release.cmake
│ │ │ └── Spectrex.cmake
│ └── MT
│ │ ├── Win32
│ │ ├── Spectrex-debug.cmake
│ │ ├── Spectrex-release.cmake
│ │ └── Spectrex.cmake
│ │ └── x64
│ │ ├── Spectrex-debug.cmake
│ │ ├── Spectrex-release.cmake
│ │ └── Spectrex.cmake
│ └── v143
│ ├── MD
│ ├── Win32
│ │ ├── Spectrex-debug.cmake
│ │ ├── Spectrex-release.cmake
│ │ └── Spectrex.cmake
│ └── x64
│ │ ├── Spectrex-debug.cmake
│ │ ├── Spectrex-release.cmake
│ │ └── Spectrex.cmake
│ └── MT
│ ├── Win32
│ ├── Spectrex-debug.cmake
│ ├── Spectrex-release.cmake
│ └── Spectrex.cmake
│ └── x64
│ ├── Spectrex-debug.cmake
│ ├── Spectrex-release.cmake
│ └── Spectrex.cmake
├── docs
├── doxygen
│ └── html
│ │ ├── _component_8hpp_source.html
│ │ ├── _context_8hpp_source.html
│ │ ├── _data_8hpp_source.html
│ │ ├── _exception_8hpp_source.html
│ │ ├── _mini_processor_8hpp_source.html
│ │ ├── _parameters_8hpp_source.html
│ │ ├── _processor_8hpp_source.html
│ │ ├── _ring_buffer_8hpp_source.html
│ │ ├── _spectrogram_8hpp_source.html
│ │ ├── _utility_8hpp_source.html
│ │ ├── _waveform_8hpp_source.html
│ │ ├── annotated.html
│ │ ├── bc_s.png
│ │ ├── bc_sd.png
│ │ ├── classes.html
│ │ ├── classspectrex_1_1_exception-members.html
│ │ ├── classspectrex_1_1_exception.html
│ │ ├── classspectrex_1_1_k_component-members.html
│ │ ├── classspectrex_1_1_k_component.html
│ │ ├── classspectrex_1_1_k_component.png
│ │ ├── classspectrex_1_1_k_context-members.html
│ │ ├── classspectrex_1_1_k_context.html
│ │ ├── classspectrex_1_1_k_processor-members.html
│ │ ├── classspectrex_1_1_k_processor.html
│ │ ├── classspectrex_1_1_k_spectrogram_component-members.html
│ │ ├── classspectrex_1_1_k_spectrogram_component.html
│ │ ├── classspectrex_1_1_k_spectrogram_component.png
│ │ ├── classspectrex_1_1_k_waveform_component-members.html
│ │ ├── classspectrex_1_1_k_waveform_component.html
│ │ ├── classspectrex_1_1_k_waveform_component.png
│ │ ├── classspectrex_1_1_mini_processor-members.html
│ │ ├── classspectrex_1_1_mini_processor.html
│ │ ├── classspectrex_1_1_processor_parameters-members.html
│ │ ├── classspectrex_1_1_processor_parameters.html
│ │ ├── classspectrex_1_1_ring_buffer-members.html
│ │ ├── classspectrex_1_1_ring_buffer.html
│ │ ├── classspectrex_1_1_ring_buffer.png
│ │ ├── clipboard.js
│ │ ├── closed.png
│ │ ├── cookie.js
│ │ ├── dir_00476c7612082a2ea337592096689087.html
│ │ ├── dir_03223e5d16191004a8cef135a83368eb.html
│ │ ├── dir_49e56c817e5e54854c35e136979f97ca.html
│ │ ├── dir_4c291a68664e4432a22058616f5e4e52.html
│ │ ├── dir_5b798d21554aadddca858521ec157964.html
│ │ ├── dir_a47411af17e4acc7291c20de6e0cef6e.html
│ │ ├── dir_d44c64559bbebec7f509842c48db8b23.html
│ │ ├── doc.svg
│ │ ├── docd.svg
│ │ ├── doxygen.css
│ │ ├── doxygen.svg
│ │ ├── doxygen_crawl.html
│ │ ├── dynsections.js
│ │ ├── extra_8h_source.html
│ │ ├── files.html
│ │ ├── folderclosed.svg
│ │ ├── folderclosedd.svg
│ │ ├── folderopen.svg
│ │ ├── folderopend.svg
│ │ ├── functions.html
│ │ ├── functions_enum.html
│ │ ├── functions_func.html
│ │ ├── functions_type.html
│ │ ├── functions_vars.html
│ │ ├── hierarchy.html
│ │ ├── index.html
│ │ ├── jquery.js
│ │ ├── menu.js
│ │ ├── menudata.js
│ │ ├── minus.svg
│ │ ├── minusd.svg
│ │ ├── nav_f.png
│ │ ├── nav_fd.png
│ │ ├── nav_g.png
│ │ ├── nav_h.png
│ │ ├── nav_hd.png
│ │ ├── navtree.css
│ │ ├── open.png
│ │ ├── pages.html
│ │ ├── plus.svg
│ │ ├── plusd.svg
│ │ ├── req.html
│ │ ├── resize.js
│ │ ├── search
│ │ ├── all_0.js
│ │ ├── all_1.js
│ │ ├── all_10.js
│ │ ├── all_11.js
│ │ ├── all_12.js
│ │ ├── all_13.js
│ │ ├── all_2.js
│ │ ├── all_3.js
│ │ ├── all_4.js
│ │ ├── all_5.js
│ │ ├── all_6.js
│ │ ├── all_7.js
│ │ ├── all_8.js
│ │ ├── all_9.js
│ │ ├── all_a.js
│ │ ├── all_b.js
│ │ ├── all_c.js
│ │ ├── all_d.js
│ │ ├── all_e.js
│ │ ├── all_f.js
│ │ ├── classes_0.js
│ │ ├── classes_1.js
│ │ ├── classes_2.js
│ │ ├── classes_3.js
│ │ ├── classes_4.js
│ │ ├── classes_5.js
│ │ ├── classes_6.js
│ │ ├── classes_7.js
│ │ ├── close.svg
│ │ ├── enums_0.js
│ │ ├── enums_1.js
│ │ ├── enums_2.js
│ │ ├── enumvalues_0.js
│ │ ├── enumvalues_1.js
│ │ ├── enumvalues_2.js
│ │ ├── enumvalues_3.js
│ │ ├── enumvalues_4.js
│ │ ├── enumvalues_5.js
│ │ ├── enumvalues_6.js
│ │ ├── enumvalues_7.js
│ │ ├── enumvalues_8.js
│ │ ├── functions_0.js
│ │ ├── functions_1.js
│ │ ├── functions_2.js
│ │ ├── functions_3.js
│ │ ├── functions_4.js
│ │ ├── functions_5.js
│ │ ├── functions_6.js
│ │ ├── functions_7.js
│ │ ├── functions_8.js
│ │ ├── functions_9.js
│ │ ├── functions_a.js
│ │ ├── functions_b.js
│ │ ├── functions_c.js
│ │ ├── functions_d.js
│ │ ├── mag.svg
│ │ ├── mag_d.svg
│ │ ├── mag_sel.svg
│ │ ├── mag_seld.svg
│ │ ├── pages_0.js
│ │ ├── pages_1.js
│ │ ├── pages_2.js
│ │ ├── search.css
│ │ ├── search.js
│ │ ├── searchdata.js
│ │ ├── typedefs_0.js
│ │ ├── typedefs_1.js
│ │ ├── variables_0.js
│ │ ├── variables_1.js
│ │ ├── variables_2.js
│ │ ├── variables_3.js
│ │ ├── variables_4.js
│ │ ├── variables_5.js
│ │ ├── variables_6.js
│ │ ├── variables_7.js
│ │ ├── variables_8.js
│ │ ├── variables_9.js
│ │ └── variables_a.js
│ │ ├── splitbar.png
│ │ ├── splitbard.png
│ │ ├── structspectrex_1_1_non_copyable-members.html
│ │ ├── structspectrex_1_1_non_copyable.html
│ │ ├── structspectrex_1_1_non_copyable.png
│ │ ├── structspectrex_1_1_spectrogram_component_properties-members.html
│ │ ├── structspectrex_1_1_spectrogram_component_properties.html
│ │ ├── structspectrex_1_1_spectrogram_info-members.html
│ │ ├── structspectrex_1_1_spectrogram_info.html
│ │ ├── structspectrex_1_1_spectrum_value-members.html
│ │ ├── structspectrex_1_1_spectrum_value.html
│ │ ├── structspectrex_1_1_sync_info-members.html
│ │ ├── structspectrex_1_1_sync_info.html
│ │ ├── structspectrex_1_1_waveform_bin-members.html
│ │ ├── structspectrex_1_1_waveform_bin.html
│ │ ├── structspectrex_1_1_waveform_component_properties-members.html
│ │ ├── structspectrex_1_1_waveform_component_properties.html
│ │ ├── structspectrex_1_1_waveform_info-members.html
│ │ ├── structspectrex_1_1_waveform_info.html
│ │ ├── sync_off.png
│ │ ├── sync_on.png
│ │ ├── tab_a.png
│ │ ├── tab_ad.png
│ │ ├── tab_b.png
│ │ ├── tab_bd.png
│ │ ├── tab_h.png
│ │ ├── tab_hd.png
│ │ ├── tab_s.png
│ │ ├── tab_sd.png
│ │ └── tabs.css
└── examples
│ ├── viz2dapp.png
│ ├── viz3dapp_1.png
│ ├── viz3dapp_2.png
│ └── viz3dapp_3.png
├── examples
├── .clang-format
├── CMakeLists.txt
├── README.md
├── Viz2DApp
│ ├── CMakeLists.txt
│ ├── ParameterWindow
│ │ ├── ParameterDisplay.cpp
│ │ ├── ParameterDisplay.h
│ │ ├── ParameterWindow.cpp
│ │ └── ParameterWindow.h
│ ├── Parameters.h
│ ├── PluginEditor.cpp
│ ├── PluginEditor.h
│ ├── PluginProcessor.cpp
│ ├── PluginProcessor.h
│ ├── UI
│ │ ├── Cursor.cpp
│ │ ├── Cursor.h
│ │ ├── Visualization2DComponent.cpp
│ │ ├── Visualization2DComponent.h
│ │ ├── VisualizationComponent.cpp
│ │ └── VisualizationComponent.h
│ ├── Utility.h
│ ├── WindowOpenGLContext.cpp
│ ├── WindowOpenGLContext.h
│ └── entitlements.plist
└── Viz3DApp
│ ├── CMakeLists.txt
│ ├── ParameterWindow
│ ├── ParameterDisplay.cpp
│ ├── ParameterDisplay.h
│ ├── ParameterWindow.cpp
│ └── ParameterWindow.h
│ ├── Parameters.h
│ ├── PluginEditor.cpp
│ ├── PluginEditor.h
│ ├── PluginProcessor.cpp
│ ├── PluginProcessor.h
│ ├── Renderer.cpp
│ ├── Renderer.h
│ ├── Rendering.cpp
│ ├── Rendering.h
│ ├── UI
│ ├── Cursor.cpp
│ ├── Cursor.h
│ ├── VisualizationComponent.cpp
│ ├── VisualizationComponent.h
│ ├── Visualizers2D.cpp
│ └── Visualizers2D.h
│ ├── Utility.h
│ ├── WindowOpenGLContext.cpp
│ ├── WindowOpenGLContext.h
│ ├── entitlements.plist
│ └── shaders
│ ├── CMakeLists.txt
│ ├── ToHeader.py
│ ├── Visual1.frag
│ ├── Visual1.vert
│ ├── Visual2.frag
│ ├── Visual3.frag
│ ├── Visual3.geom
│ └── Visual3.vert
├── include
└── Spectrex
│ ├── Components
│ ├── Component.hpp
│ ├── Spectrogram.hpp
│ └── Waveform.hpp
│ ├── MiniProcessor.hpp
│ ├── Processing
│ ├── Data.hpp
│ ├── Parameters.hpp
│ └── Processor.hpp
│ ├── Rendering
│ └── Context.hpp
│ ├── Utility
│ ├── Exception.hpp
│ ├── RingBuffer.hpp
│ └── Utility.hpp
│ └── extra.h
├── lib
├── macos
│ ├── Debug
│ │ └── libSpectrex.a
│ └── Release
│ │ └── libSpectrex.a
└── msvc
│ ├── v142
│ ├── MD
│ │ ├── Win32
│ │ │ ├── Debug
│ │ │ │ └── Spectrex.lib
│ │ │ └── Release
│ │ │ │ └── Spectrex.lib
│ │ └── x64
│ │ │ ├── Debug
│ │ │ └── Spectrex.lib
│ │ │ └── Release
│ │ │ └── Spectrex.lib
│ └── MT
│ │ ├── Win32
│ │ ├── Debug
│ │ │ └── Spectrex.lib
│ │ └── Release
│ │ │ └── Spectrex.lib
│ │ └── x64
│ │ ├── Debug
│ │ └── Spectrex.lib
│ │ └── Release
│ │ └── Spectrex.lib
│ └── v143
│ ├── MD
│ ├── Win32
│ │ ├── Debug
│ │ │ └── Spectrex.lib
│ │ └── Release
│ │ │ └── Spectrex.lib
│ └── x64
│ │ ├── Debug
│ │ └── Spectrex.lib
│ │ └── Release
│ │ └── Spectrex.lib
│ └── MT
│ ├── Win32
│ ├── Debug
│ │ └── Spectrex.lib
│ └── Release
│ │ └── Spectrex.lib
│ └── x64
│ ├── Debug
│ └── Spectrex.lib
│ └── Release
│ └── Spectrex.lib
└── src
└── Spectrex
└── MiniProcessor.cpp
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 1.0.0
4 |
5 | - Initial release.
6 |
--------------------------------------------------------------------------------
/LICENSE-examples.txt:
--------------------------------------------------------------------------------
1 | SDK LICENSING TERMS
2 |
3 | This license applies to the `examples` directory, specifically KoalaDSP's open source example code, excluding any third party software included in that directory for which the licenses are available from their respective directories.
4 |
5 | ---
6 |
7 | Spectrex Examples
8 |
9 | Copyright (c) 2024 KoalaDSP B.V. All rights reserved.
10 |
11 | This code is licensed under the MIT License (MIT).
12 |
13 | Permission is hereby granted, free of charge, to any person obtaining a copy
14 | of this software and associated documentation files (the "Software"), to deal
15 | in the Software without restriction, including without limitation the rights
16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17 | of the Software, and to permit persons to whom the Software is furnished to do
18 | so, subject to the following conditions:
19 |
20 | The above copyright notice and this permission notice shall be included in all
21 | copies or substantial portions of the Software.
22 |
23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29 | THE SOFTWARE.
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🐨 Spectrex
2 |
3 | KoalaDSP's Spectrex is a Software Development Kit that lets you build GPU accelerated 2D and 3D spectrum visualizers.
4 |
5 |   
6 |
7 | Making visualization products with real-time spectrum analysis is not easy. We want to give audio developers a chance to create cool audio visualizations in their own apps and to be creative with audio signals and spectrums. This is why we've opened up a big part of our own library called **Spectrex**, free to use.
8 |
9 | Spectrex supports OpenGL and JUCE, and has already shipped in various software products out there. The library is shipped precompiled, compatible with CMake, and its examples are fully open-source and built using JUCE. The library can be used with other frameworks as well.
10 |
11 | 🚀🚀🚀
12 |
13 | #### Community Edition
14 |
15 | This repository is the Community Edition, and is meant for fancy visualizations with aesthetic value.
16 |
17 | The Community Edition is free to use in any application, and has the following features:
18 |
19 | * 🐥 _High-level interface_: 2D real-time pan/zoom spectrogram + waveform that are fully synchronized.
20 | * 🔮 _Low-level interface_: real-time processing that ties in with graphics APIs such as OpenGL.
21 | * 📚 _JUCE examples_: 2D spectrogram + waveform, 3D spectrum visualizers using custom OpenGL shaders.
22 | * 💻 _macOS and Windows_: Microsoft Visual Studio 2019, 2022 (Windows 7+) and latest Xcode (macOS 10.13+).
23 |
24 | #### Enhanced Edition
25 |
26 | If you're looking for more extensive applications involving accurate spectrum analysis, we also offer an Enhanced Edition.
27 |
28 | The Enhanced Edition contains a few more exclusive features intended for more extensive applications, such as:
29 |
30 | * 🌟 _FFT_: sizes up to 8192. (Community Edition: 256, 512)
31 | * 🌟 _Waveform_: Stereo (2x), Left, Right, Mid, Side views. (Community Edition: 1x downmixed waveform)
32 | * 🌟 _Override mode_: lets the Spectrogram and Waveform wrap from left to right.
33 | * 🌟 _Playhead sync_: syncs the Spectrogram and Waveform position with the DAW playhead and in bars.
34 | * 🌟 _Signal metering components_: CorrelationMeter, Goniometer and more visualization components.
35 | * 🌟 _Customization_: More customization functions and properties for various classes.
36 |
37 | Contact us to find out more.
38 |
39 | ### Documentation
40 |
41 | For documentation, refer to the code (extensively documented), any included generated documentation, or the examples.
42 |
43 | ### Licensing
44 |
45 | When including the precompiled libraries into your released products, please make sure to include the third-party attributions in `LICENSE.txt` somewhere in your software, installer or distribution.
46 |
47 | The examples in `examples` are licensed using the open-source MIT license.
48 |
49 | ### Examples
50 |
51 | 
52 |
53 | The `examples` directory contains two examples built for JUCE: a real-time 2D spectrogram and waveform visualizer (`Viz2DApp`), and a real-time 3D spectrum visualizer using custom OpenGL shaders (`Viz3DApp`).
54 |
55 | ### Get in touch
56 |
57 | Visit https://koaladsp.com or check out our [Discord](https://discord.gg/QndSN2w74S).
58 |
--------------------------------------------------------------------------------
/cmake/macos/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/macos/Debug/libSpectrex.a"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/macos/Debug/libSpectrex.a" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/macos/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/macos/Release/libSpectrex.a"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/macos/Release/libSpectrex.a" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MD/Win32/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v142/MD/Win32/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MD/Win32/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MD/Win32/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v142/MD/Win32/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MD/Win32/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MD/x64/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v142/MD/x64/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MD/x64/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MD/x64/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v142/MD/x64/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MD/x64/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MT/Win32/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v142/MT/Win32/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MT/Win32/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MT/Win32/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v142/MT/Win32/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MT/Win32/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MT/x64/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v142/MT/x64/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MT/x64/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v142/MT/x64/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v142/MT/x64/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v142/MT/x64/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MD/Win32/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v143/MD/Win32/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MD/Win32/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MD/Win32/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v143/MD/Win32/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MD/Win32/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MD/x64/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v143/MD/x64/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MD/x64/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MD/x64/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v143/MD/x64/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MD/x64/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MT/Win32/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v143/MT/Win32/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MT/Win32/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MT/Win32/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v143/MT/Win32/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MT/Win32/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MT/x64/Spectrex-debug.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Debug".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Debug"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
12 | IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/msvc/v143/MT/x64/Debug/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MT/x64/Debug/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/cmake/msvc/v143/MT/x64/Spectrex-release.cmake:
--------------------------------------------------------------------------------
1 | #----------------------------------------------------------------
2 | # Generated CMake target import file for configuration "Release".
3 | #----------------------------------------------------------------
4 |
5 | # Commands may need to know the format version.
6 | set(CMAKE_IMPORT_FILE_VERSION 1)
7 |
8 | # Import target "Spectrex::Spectrex" for configuration "Release"
9 | set_property(TARGET Spectrex::Spectrex APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10 | set_target_properties(Spectrex::Spectrex PROPERTIES
11 | IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/msvc/v143/MT/x64/Release/Spectrex.lib"
13 | )
14 |
15 | list(APPEND _cmake_import_check_targets Spectrex::Spectrex )
16 | list(APPEND _cmake_import_check_files_for_Spectrex::Spectrex "${_IMPORT_PREFIX}/lib/msvc/v143/MT/x64/Release/Spectrex.lib" )
17 |
18 | # Commands beyond this point should not need to know the version.
19 | set(CMAKE_IMPORT_FILE_VERSION)
20 |
--------------------------------------------------------------------------------
/docs/doxygen/html/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/bc_s.png
--------------------------------------------------------------------------------
/docs/doxygen/html/bc_sd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/bc_sd.png
--------------------------------------------------------------------------------
/docs/doxygen/html/classspectrex_1_1_k_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/classspectrex_1_1_k_component.png
--------------------------------------------------------------------------------
/docs/doxygen/html/classspectrex_1_1_k_spectrogram_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/classspectrex_1_1_k_spectrogram_component.png
--------------------------------------------------------------------------------
/docs/doxygen/html/classspectrex_1_1_k_waveform_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/classspectrex_1_1_k_waveform_component.png
--------------------------------------------------------------------------------
/docs/doxygen/html/classspectrex_1_1_ring_buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/classspectrex_1_1_ring_buffer.png
--------------------------------------------------------------------------------
/docs/doxygen/html/clipboard.js:
--------------------------------------------------------------------------------
1 | /**
2 |
3 | The code below is based on the Doxygen Awesome project, see
4 | https://github.com/jothepro/doxygen-awesome-css
5 |
6 | MIT License
7 |
8 | Copyright (c) 2021 - 2022 jothepro
9 |
10 | Permission is hereby granted, free of charge, to any person obtaining a copy
11 | of this software and associated documentation files (the "Software"), to deal
12 | in the Software without restriction, including without limitation the rights
13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | copies of the Software, and to permit persons to whom the Software is
15 | furnished to do so, subject to the following conditions:
16 |
17 | The above copyright notice and this permission notice shall be included in all
18 | copies or substantial portions of the Software.
19 |
20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 | SOFTWARE.
27 |
28 | */
29 |
30 | let clipboard_title = "Copy to clipboard"
31 | let clipboard_icon = ``
32 | let clipboard_successIcon = ``
33 | let clipboard_successDuration = 1000
34 |
35 | $(function() {
36 | if(navigator.clipboard) {
37 | const fragments = document.getElementsByClassName("fragment")
38 | for(const fragment of fragments) {
39 | const clipboard_div = document.createElement("div")
40 | clipboard_div.classList.add("clipboard")
41 | clipboard_div.innerHTML = clipboard_icon
42 | clipboard_div.title = clipboard_title
43 | $(clipboard_div).click(function() {
44 | const content = this.parentNode.cloneNode(true)
45 | // filter out line number and folded fragments from file listings
46 | content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
47 | let text = content.textContent
48 | // remove trailing newlines and trailing spaces from empty lines
49 | text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
50 | navigator.clipboard.writeText(text);
51 | this.classList.add("success")
52 | this.innerHTML = clipboard_successIcon
53 | window.setTimeout(() => { // switch back to normal icon after timeout
54 | this.classList.remove("success")
55 | this.innerHTML = clipboard_icon
56 | }, clipboard_successDuration);
57 | })
58 | fragment.insertBefore(clipboard_div, fragment.firstChild)
59 | }
60 | }
61 | })
62 |
--------------------------------------------------------------------------------
/docs/doxygen/html/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/closed.png
--------------------------------------------------------------------------------
/docs/doxygen/html/cookie.js:
--------------------------------------------------------------------------------
1 | /*!
2 | Cookie helper functions
3 | Copyright (c) 2023 Dimitri van Heesch
4 | Released under MIT license.
5 | */
6 | let Cookie = {
7 | cookie_namespace: 'doxygen_',
8 |
9 | readSetting(cookie,defVal) {
10 | if (window.chrome) {
11 | const val = localStorage.getItem(this.cookie_namespace+cookie) ||
12 | sessionStorage.getItem(this.cookie_namespace+cookie);
13 | if (val) return val;
14 | } else {
15 | let myCookie = this.cookie_namespace+cookie+"=";
16 | if (document.cookie) {
17 | const index = document.cookie.indexOf(myCookie);
18 | if (index != -1) {
19 | const valStart = index + myCookie.length;
20 | let valEnd = document.cookie.indexOf(";", valStart);
21 | if (valEnd == -1) {
22 | valEnd = document.cookie.length;
23 | }
24 | return document.cookie.substring(valStart, valEnd);
25 | }
26 | }
27 | }
28 | return defVal;
29 | },
30 |
31 | writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
32 | if (window.chrome) {
33 | if (days==0) {
34 | sessionStorage.setItem(this.cookie_namespace+cookie,val);
35 | } else {
36 | localStorage.setItem(this.cookie_namespace+cookie,val);
37 | }
38 | } else {
39 | let date = new Date();
40 | date.setTime(date.getTime()+(days*24*60*60*1000));
41 | const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
42 | document.cookie = this.cookie_namespace + cookie + "=" +
43 | val + "; SameSite=Lax;" + expiration + "path=/";
44 | }
45 | },
46 |
47 | eraseSetting(cookie) {
48 | if (window.chrome) {
49 | if (localStorage.getItem(this.cookie_namespace+cookie)) {
50 | localStorage.removeItem(this.cookie_namespace+cookie);
51 | } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
52 | sessionStorage.removeItem(this.cookie_namespace+cookie);
53 | }
54 | } else {
55 | this.writeSetting(cookie,'',-1);
56 | }
57 | },
58 | }
59 |
--------------------------------------------------------------------------------
/docs/doxygen/html/dir_49e56c817e5e54854c35e136979f97ca.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | KoalaDSP Spectrex: docs Directory Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | KoalaDSP Spectrex
29 |
30 | |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
47 |
48 |
49 |
57 |
58 |
63 |
64 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
Loading...
77 |
Searching...
78 |
No Matches
79 |
80 |
81 |
82 |
83 |
84 |
88 |
89 |
90 |
93 |
94 |
95 |
96 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/docs/doxygen/html/doc.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
13 |
--------------------------------------------------------------------------------
/docs/doxygen/html/docd.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
13 |
--------------------------------------------------------------------------------
/docs/doxygen/html/folderclosed.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
12 |
--------------------------------------------------------------------------------
/docs/doxygen/html/folderclosedd.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
12 |
--------------------------------------------------------------------------------
/docs/doxygen/html/folderopen.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
18 |
--------------------------------------------------------------------------------
/docs/doxygen/html/folderopend.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
13 |
--------------------------------------------------------------------------------
/docs/doxygen/html/functions_type.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | KoalaDSP Spectrex: Class Members - Typedefs
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | KoalaDSP Spectrex
29 |
30 | |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
47 |
48 |
49 |
57 |
58 |
59 |
60 |
65 |
66 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
Loading...
79 |
Searching...
80 |
No Matches
81 |
82 |
83 |
84 |
85 |
86 |
87 |
Here is a list of all documented typedefs with links to the class documentation for each member:
91 |
92 |
93 |
96 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/docs/doxygen/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | KoalaDSP Spectrex: 🐨 Spectrex
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | KoalaDSP Spectrex
29 |
30 | |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
47 |
48 |
49 |
57 |
58 |
59 |
60 |
65 |
66 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
Loading...
79 |
Searching...
80 |
No Matches
81 |
82 |
83 |
84 |
85 |
86 |
89 |
90 |
KoalaDSP's Spectrex is a Software Development Kit that lets you build GPU accelerated 2D and 3D spectrum visualizers.
91 |
Have a look at the Class List to get started.
92 |
93 |
94 |
95 |
96 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/docs/doxygen/html/menudata.js:
--------------------------------------------------------------------------------
1 | /*
2 | @licstart The following is the entire license notice for the JavaScript code in this file.
3 |
4 | The MIT License (MIT)
5 |
6 | Copyright (C) 1997-2020 by Dimitri van Heesch
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software
9 | and associated documentation files (the "Software"), to deal in the Software without restriction,
10 | including without limitation the rights to use, copy, modify, merge, publish, distribute,
11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all copies or
15 | substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 |
23 | @licend The above is the entire license notice for the JavaScript code in this file
24 | */
25 | var menudata={children:[
26 | {text:"Main Page",url:"index.html"},
27 | {text:"Related Pages",url:"pages.html"},
28 | {text:"Classes",url:"annotated.html",children:[
29 | {text:"Class List",url:"annotated.html"},
30 | {text:"Class Index",url:"classes.html"},
31 | {text:"Class Hierarchy",url:"hierarchy.html"},
32 | {text:"Class Members",url:"functions.html",children:[
33 | {text:"All",url:"functions.html",children:[
34 | {text:"a",url:"functions.html#index_a"},
35 | {text:"b",url:"functions.html#index_b"},
36 | {text:"c",url:"functions.html#index_c"},
37 | {text:"d",url:"functions.html#index_d"},
38 | {text:"e",url:"functions.html#index_e"},
39 | {text:"f",url:"functions.html#index_f"},
40 | {text:"g",url:"functions.html#index_g"},
41 | {text:"h",url:"functions.html#index_h"},
42 | {text:"i",url:"functions.html#index_i"},
43 | {text:"k",url:"functions.html#index_k"},
44 | {text:"m",url:"functions.html#index_m"},
45 | {text:"o",url:"functions.html#index_o"},
46 | {text:"p",url:"functions.html#index_p"},
47 | {text:"r",url:"functions.html#index_r"},
48 | {text:"s",url:"functions.html#index_s"},
49 | {text:"t",url:"functions.html#index_t"},
50 | {text:"v",url:"functions.html#index_v"},
51 | {text:"w",url:"functions.html#index_w"}]},
52 | {text:"Functions",url:"functions_func.html",children:[
53 | {text:"a",url:"functions_func.html#index_a"},
54 | {text:"b",url:"functions_func.html#index_b"},
55 | {text:"c",url:"functions_func.html#index_c"},
56 | {text:"d",url:"functions_func.html#index_d"},
57 | {text:"e",url:"functions_func.html#index_e"},
58 | {text:"g",url:"functions_func.html#index_g"},
59 | {text:"h",url:"functions_func.html#index_h"},
60 | {text:"i",url:"functions_func.html#index_i"},
61 | {text:"k",url:"functions_func.html#index_k"},
62 | {text:"o",url:"functions_func.html#index_o"},
63 | {text:"p",url:"functions_func.html#index_p"},
64 | {text:"r",url:"functions_func.html#index_r"},
65 | {text:"s",url:"functions_func.html#index_s"},
66 | {text:"w",url:"functions_func.html#index_w"}]},
67 | {text:"Variables",url:"functions_vars.html"},
68 | {text:"Typedefs",url:"functions_type.html"},
69 | {text:"Enumerations",url:"functions_enum.html"}]}]},
70 | {text:"Files",url:"files.html",children:[
71 | {text:"File List",url:"files.html"}]}]}
72 |
--------------------------------------------------------------------------------
/docs/doxygen/html/minus.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/docs/doxygen/html/minusd.svg:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/docs/doxygen/html/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/nav_f.png
--------------------------------------------------------------------------------
/docs/doxygen/html/nav_fd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/nav_fd.png
--------------------------------------------------------------------------------
/docs/doxygen/html/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/nav_g.png
--------------------------------------------------------------------------------
/docs/doxygen/html/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/nav_h.png
--------------------------------------------------------------------------------
/docs/doxygen/html/nav_hd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/nav_hd.png
--------------------------------------------------------------------------------
/docs/doxygen/html/navtree.css:
--------------------------------------------------------------------------------
1 | #nav-tree .children_ul {
2 | margin:0;
3 | padding:4px;
4 | }
5 |
6 | #nav-tree ul {
7 | list-style:none outside none;
8 | margin:0px;
9 | padding:0px;
10 | }
11 |
12 | #nav-tree li {
13 | white-space:nowrap;
14 | margin:0px;
15 | padding:0px;
16 | }
17 |
18 | #nav-tree .plus {
19 | margin:0px;
20 | }
21 |
22 | #nav-tree .selected {
23 | background-image: url('tab_a.png');
24 | background-repeat:repeat-x;
25 | color: var(--nav-text-active-color);
26 | text-shadow: var(--nav-text-active-shadow);
27 | }
28 |
29 | #nav-tree .selected .arrow {
30 | color: var(--nav-arrow-selected-color);
31 | text-shadow: none;
32 | }
33 |
34 | #nav-tree img {
35 | margin:0px;
36 | padding:0px;
37 | border:0px;
38 | vertical-align: middle;
39 | }
40 |
41 | #nav-tree a {
42 | text-decoration:none;
43 | padding:0px;
44 | margin:0px;
45 | }
46 |
47 | #nav-tree .label {
48 | margin:0px;
49 | padding:0px;
50 | font: 12px var(--font-family-nav);
51 | }
52 |
53 | #nav-tree .label a {
54 | padding:2px;
55 | }
56 |
57 | #nav-tree .selected a {
58 | text-decoration:none;
59 | color:var(--nav-text-active-color);
60 | }
61 |
62 | #nav-tree .children_ul {
63 | margin:0px;
64 | padding:0px;
65 | }
66 |
67 | #nav-tree .item {
68 | margin:0px;
69 | padding:0px;
70 | }
71 |
72 | #nav-tree {
73 | padding: 0px 0px;
74 | font-size:14px;
75 | overflow:auto;
76 | }
77 |
78 | #doc-content {
79 | overflow:auto;
80 | display:block;
81 | padding:0px;
82 | margin:0px;
83 | -webkit-overflow-scrolling : touch; /* iOS 5+ */
84 | }
85 |
86 | #side-nav {
87 | padding:0 6px 0 0;
88 | margin: 0px;
89 | display:block;
90 | position: absolute;
91 | left: 0px;
92 | width: $width;
93 | overflow : hidden;
94 | }
95 |
96 | .ui-resizable .ui-resizable-handle {
97 | display:block;
98 | }
99 |
100 | .ui-resizable-e {
101 | background-image:var(--nav-splitbar-image);
102 | background-size:100%;
103 | background-repeat:repeat-y;
104 | background-attachment: scroll;
105 | cursor:ew-resize;
106 | height:100%;
107 | right:0;
108 | top:0;
109 | width:6px;
110 | }
111 |
112 | .ui-resizable-handle {
113 | display:none;
114 | font-size:0.1px;
115 | position:absolute;
116 | z-index:1;
117 | }
118 |
119 | #nav-tree-contents {
120 | margin: 6px 0px 0px 0px;
121 | }
122 |
123 | #nav-tree {
124 | background-repeat:repeat-x;
125 | background-color: var(--nav-background-color);
126 | -webkit-overflow-scrolling : touch; /* iOS 5+ */
127 | }
128 |
129 | #nav-sync {
130 | position:absolute;
131 | top:5px;
132 | right:24px;
133 | z-index:0;
134 | }
135 |
136 | #nav-sync img {
137 | opacity:0.3;
138 | }
139 |
140 | #nav-sync img:hover {
141 | opacity:0.9;
142 | }
143 |
144 | @media print
145 | {
146 | #nav-tree { display: none; }
147 | div.ui-resizable-handle { display: none; position: relative; }
148 | }
149 |
150 |
--------------------------------------------------------------------------------
/docs/doxygen/html/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/open.png
--------------------------------------------------------------------------------
/docs/doxygen/html/pages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | KoalaDSP Spectrex: Related Pages
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | KoalaDSP Spectrex
29 |
30 | |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
42 |
47 |
48 |
49 |
57 |
58 |
59 |
60 |
65 |
66 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
Loading...
79 |
Searching...
80 |
No Matches
81 |
82 |
83 |
84 |
85 |
86 |
89 |
90 |
Here is a list of all related documentation pages:
95 |
96 |
97 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/docs/doxygen/html/plus.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/plusd.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['advance_0',['advance',['../classspectrex_1_1_ring_buffer.html#afbbcf5f1a023a6f9703bdac358761101',1,'spectrex::RingBuffer']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['backgroundcolor_0',['BackgroundColor',['../structspectrex_1_1_spectrogram_component_properties.html#a3458edd80ccff58839511598a1ea2b29',1,'spectrex::SpectrogramComponentProperties::BackgroundColor'],['../structspectrex_1_1_waveform_component_properties.html#a90f952831cd18422483bab378696b31f',1,'spectrex::WaveformComponentProperties::BackgroundColor']]],
4 | ['beginframe_1',['beginFrame',['../classspectrex_1_1_k_processor.html#a8830a017e492cd219fab832f1467dd06',1,'spectrex::KProcessor']]],
5 | ['bpm_2',['Bpm',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720aa29f406867e1acbda958fbfcfac290aa',1,'spectrex::ProcessorParameters']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_10.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['threads_0',['Threads',['../req.html',1,'']]],
4 | ['timefactor_1',['TimeFactor',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720add6e7faa6774b440ee6c74a7222e638f',1,'spectrex::ProcessorParameters']]],
5 | ['timemultiplier_2',['TimeMultiplier',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a3397cb1b5dbc9575cd50cdbd6b9f580b',1,'spectrex::ProcessorParameters']]],
6 | ['timeoffset_3',['TimeOffset',['../structspectrex_1_1_spectrogram_info.html#a2fd97914e8bf4cb9c3bd5fb79914b3c0',1,'spectrex::SpectrogramInfo']]],
7 | ['timesignaturenumerator_4',['TimeSignatureNumerator',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720ad6654250b76b2d89113892f3fd202105',1,'spectrex::ProcessorParameters']]],
8 | ['timeunit_5',['TimeUnit',['../classspectrex_1_1_k_processor.html#a8ab313a497460348e62ca356ccd18fc2',1,'spectrex::KProcessor']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_11.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['value_0',['Value',['../structspectrex_1_1_spectrum_value.html#aa7087401d12bf63c05063d644c5e415b',1,'spectrex::SpectrumValue']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_12.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['waveformbin_0',['WaveformBin',['../structspectrex_1_1_waveform_bin.html',1,'spectrex']]],
4 | ['waveformcomponentproperties_1',['WaveformComponentProperties',['../structspectrex_1_1_waveform_component_properties.html',1,'spectrex']]],
5 | ['waveforminfo_2',['WaveformInfo',['../structspectrex_1_1_waveform_info.html',1,'spectrex::WaveformInfo'],['../structspectrex_1_1_waveform_info.html#a8fc8f20ac84a2eee769dac88de9d7ae0',1,'spectrex::WaveformInfo::WaveformInfo() noexcept'],['../structspectrex_1_1_waveform_info.html#acff86f1992a1b564d5e72e45f5e3dfa7',1,'spectrex::WaveformInfo::WaveformInfo(size_t height, size_t writePointer) noexcept']]],
6 | ['width_3',['Width',['../structspectrex_1_1_spectrogram_info.html#a4c716d37ef9bf4277960411cf29bfd06',1,'spectrex::SpectrogramInfo::Width'],['../structspectrex_1_1_sync_info.html#a823840094b17bd3dd52666500c3601e8',1,'spectrex::SyncInfo::Width']]],
7 | ['window_4',['Window',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720ac89686a387d2b12b3c729ce35a0bcb5b',1,'spectrex::ProcessorParameters']]],
8 | ['writepointer_5',['WritePointer',['../structspectrex_1_1_waveform_info.html#adb9b61621afbb2532228c90bac253737',1,'spectrex::WaveformInfo']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_13.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['🐨_20spectrex_0',['🐨 Spectrex',['../index.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['cachesyncwaveformspectrogram_0',['cacheSyncWaveformSpectrogram',['../classspectrex_1_1_k_processor.html#abeceb92199890d069d4039cd39ea5152',1,'spectrex::KProcessor']]],
4 | ['clear_1',['Clear',['../structspectrex_1_1_sync_info.html#a09dd4ab5dc13e9ddbe69dc26ce29a0a8',1,'spectrex::SyncInfo']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['direction_0',['Direction',['../classspectrex_1_1_k_component.html#ad23da2a4735d3c16a6588d2022dc0216',1,'spectrex::KComponent']]],
4 | ['directionflag_1',['DirectionFlag',['../classspectrex_1_1_k_component.html#ac52d274b4daf7c00c49d464032172650',1,'spectrex::KComponent']]],
5 | ['draw_2',['draw',['../classspectrex_1_1_k_component.html#a2076ae5704633c2c730975793cedc070',1,'spectrex::KComponent::draw()'],['../classspectrex_1_1_k_spectrogram_component.html#ac750d5230c48333dcc9dc12ba99e650b',1,'spectrex::KSpectrogramComponent::draw()'],['../classspectrex_1_1_k_waveform_component.html#aa4b2cc34ef62a7a0937bc3f40869a4ac',1,'spectrex::KWaveformComponent::draw()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['exception_0',['Exception',['../classspectrex_1_1_exception.html',1,'spectrex::Exception'],['../classspectrex_1_1_exception.html#a39682f4df2aef1f12d8d78316d9f0222',1,'spectrex::Exception::Exception()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['flatten_0',['Flatten',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a4adae1c15e93fd1abd85fcdd8b948e10',1,'spectrex::ProcessorParameters']]],
4 | ['frequency_1',['Frequency',['../structspectrex_1_1_waveform_bin.html#a71b5edc353110a9876fbbc2321890287',1,'spectrex::WaveformBin']]],
5 | ['ftsize_2',['FtSize',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a3f774122a786f83355759e08e6a23d97',1,'spectrex::ProcessorParameters']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['hasnewvalue_0',['hasNewValue',['../classspectrex_1_1_processor_parameters.html#a156ae60aba697baf406ca2222744b17a',1,'spectrex::ProcessorParameters']]],
4 | ['hasvalue_1',['hasValue',['../classspectrex_1_1_processor_parameters.html#a5b7407021cab1a3cfb263ff6ae7cda83',1,'spectrex::ProcessorParameters']]],
5 | ['height_2',['Height',['../structspectrex_1_1_spectrogram_info.html#a597ea8d914b17d9db78c1012b2993988',1,'spectrex::SpectrogramInfo::Height'],['../structspectrex_1_1_waveform_info.html#a7d9b3de5eddf1705e992f84c22d28997',1,'spectrex::WaveformInfo::Height'],['../structspectrex_1_1_sync_info.html#afdfab942bbffd5c88d090070f9479a60',1,'spectrex::SyncInfo::Height']]],
6 | ['highlight_3',['Highlight',['../structspectrex_1_1_spectrum_value.html#a72c9dbd5b7edd2c1525ee3fbc1996f45',1,'spectrex::SpectrumValue']]],
7 | ['history_4',['History',['../structspectrex_1_1_spectrum_value.html#a21a3640e11249e37cacd6f62204e33b7',1,'spectrex::SpectrumValue']]],
8 | ['hold_5',['Hold',['../structspectrex_1_1_spectrum_value.html#a15c899015052e5859f46f545b13d7cdc',1,'spectrex::SpectrumValue']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['initializegl_0',['initializeGL',['../classspectrex_1_1_k_context.html#a3bf84cc819e4dece84be46377a32e04b',1,'spectrex::KContext']]],
4 | ['isinitialposition_1',['isInitialPosition',['../classspectrex_1_1_k_processor.html#a217bb273a00862d33a2176bb02e530e5',1,'spectrex::KProcessor']]],
5 | ['isvalid_2',['isValid',['../structspectrex_1_1_sync_info.html#acc2214aa58f13b383b983faaa75d2632',1,'spectrex::SyncInfo::isValid()'],['../classspectrex_1_1_k_processor.html#ab53584a77d59c965678fb38eb1a361e3',1,'spectrex::KProcessor::isValid()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['k_5fexpectedblocksize_0',['k_expectedBlockSize',['../classspectrex_1_1_k_processor.html#ad3d750f617b3672a2f0ba430b5b17f5b',1,'spectrex::KProcessor']]],
4 | ['kcomponent_1',['KComponent',['../classspectrex_1_1_k_component.html',1,'spectrex']]],
5 | ['kcontext_2',['KContext',['../classspectrex_1_1_k_context.html',1,'spectrex']]],
6 | ['key_3',['Key',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720',1,'spectrex::ProcessorParameters']]],
7 | ['kprocessor_4',['KProcessor',['../classspectrex_1_1_k_processor.html',1,'spectrex::KProcessor'],['../classspectrex_1_1_k_processor.html#a518923bc5c0510b4cde5fb2064a354c0',1,'spectrex::KProcessor::KProcessor()']]],
8 | ['kspectrogramcomponent_5',['KSpectrogramComponent',['../classspectrex_1_1_k_spectrogram_component.html',1,'spectrex::KSpectrogramComponent'],['../classspectrex_1_1_k_spectrogram_component.html#a9e48b426744eb7adf6ad497237e76cbe',1,'spectrex::KSpectrogramComponent::KSpectrogramComponent()']]],
9 | ['kwaveformcomponent_6',['KWaveformComponent',['../classspectrex_1_1_k_waveform_component.html',1,'spectrex::KWaveformComponent'],['../classspectrex_1_1_k_waveform_component.html#a745b34d83b4fc7bda4e6f90732949ab4',1,'spectrex::KWaveformComponent::KWaveformComponent()']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['max_0',['Max',['../structspectrex_1_1_waveform_bin.html#a709bba1c39322d7f0c8bfa136ceb32c3',1,'spectrex::WaveformBin']]],
4 | ['maxfrequency_1',['MaxFrequency',['../structspectrex_1_1_spectrogram_info.html#a0efd6ff735d6625199f6fef3d2be6d34',1,'spectrex::SpectrogramInfo']]],
5 | ['min_2',['Min',['../structspectrex_1_1_waveform_bin.html#a6618bf49891eccfe2eb6733b9804038c',1,'spectrex::WaveformBin']]],
6 | ['minfrequency_3',['MinFrequency',['../structspectrex_1_1_spectrogram_info.html#acb4d1bff778ad3309623924681f249c4',1,'spectrex::SpectrogramInfo']]],
7 | ['miniprocessor_4',['MiniProcessor',['../classspectrex_1_1_mini_processor.html',1,'spectrex']]],
8 | ['mixmode_5',['MixMode',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720aeac58524ac9aac2141d1d67b8371a432',1,'spectrex::ProcessorParameters']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['noncopyable_0',['NonCopyable',['../structspectrex_1_1_non_copyable.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['onmousedoubleclick_0',['onMouseDoubleClick',['../classspectrex_1_1_k_component.html#ae5dd0b5fcc1bcd2dd9a6350ab77634a1',1,'spectrex::KComponent']]],
4 | ['onmousedrag_1',['onMouseDrag',['../classspectrex_1_1_k_component.html#a5c664693ea82aed7d452e618533f0688',1,'spectrex::KComponent']]],
5 | ['onmouseend_2',['onMouseEnd',['../classspectrex_1_1_k_component.html#ac19412b94363ed5d27c0e532194d46a3',1,'spectrex::KComponent']]],
6 | ['onmousemove_3',['onMouseMove',['../classspectrex_1_1_k_component.html#a2160ffd292daf59b4d9b8686b1caf895',1,'spectrex::KComponent']]],
7 | ['onmouseshiftdoubleclick_4',['onMouseShiftDoubleClick',['../classspectrex_1_1_k_component.html#a8dc97a011685bd59a204d6d8e66ce62e',1,'spectrex::KComponent']]],
8 | ['onmouseshiftdrag_5',['onMouseShiftDrag',['../classspectrex_1_1_k_component.html#a82712f9e4309ef1a178f32578886c497',1,'spectrex::KComponent']]],
9 | ['onmousestart_6',['onMouseStart',['../classspectrex_1_1_k_component.html#a0acde6bd72dffb88c3b85b308a6d4b15',1,'spectrex::KComponent']]],
10 | ['onmousewheel_7',['onMouseWheel',['../classspectrex_1_1_k_component.html#a88803564e939a0b2884558774fbe602e',1,'spectrex::KComponent']]],
11 | ['operator_20bool_8',['operator bool',['../classspectrex_1_1_processor_parameters.html#ac5641f6567403e9375b37c4f0cd236d9',1,'spectrex::ProcessorParameters']]],
12 | ['operator_2b_3d_9',['operator+=',['../structspectrex_1_1_spectrum_value.html#ac4e71485e7f8b7bfb7d30f10101800ef',1,'spectrex::SpectrumValue']]],
13 | ['operator_3c_3c_10',['operator<<',['../classspectrex_1_1_exception.html#a2e589e15d50841e2bbd8faec6b1aec05',1,'spectrex::Exception']]],
14 | ['override_11',['Override',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a6da8e67225fdcfa78c3ea5dc3154b849',1,'spectrex::ProcessorParameters']]]
15 | ];
16 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['playheadsynced_0',['PlayHeadSynced',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a362d3bc9620da63f845034a26fc42592',1,'spectrex::ProcessorParameters']]],
4 | ['pointer_1',['Pointer',['../structspectrex_1_1_sync_info.html#ac438855d0bcb5d76c78c5924d921f974',1,'spectrex::SyncInfo']]],
5 | ['position_2',['Position',['../structspectrex_1_1_spectrogram_info.html#a9437742fe5acf63c6a8121e09bb5a8e8',1,'spectrex::SpectrogramInfo']]],
6 | ['prepare_3',['prepare',['../classspectrex_1_1_k_processor.html#ab9045b8be18d083e28c1028ab7e9ad5c',1,'spectrex::KProcessor']]],
7 | ['preparetoplay_4',['prepareToPlay',['../classspectrex_1_1_mini_processor.html#a569f067a9138d2b74c06065cf8b330b9',1,'spectrex::MiniProcessor']]],
8 | ['process_5',['process',['../classspectrex_1_1_k_processor.html#a5f38706a243c716ad4661714c2f16f38',1,'spectrex::KProcessor']]],
9 | ['processblock_6',['processBlock',['../classspectrex_1_1_mini_processor.html#a44d7f8ab12741d30efefe8967e3110c0',1,'spectrex::MiniProcessor']]],
10 | ['processorparameters_7',['ProcessorParameters',['../classspectrex_1_1_processor_parameters.html',1,'spectrex::ProcessorParameters'],['../classspectrex_1_1_processor_parameters.html#a6973da2a16be05aa4d210b03a139fea9',1,'spectrex::ProcessorParameters::ProcessorParameters()']]],
11 | ['push_8',['push',['../classspectrex_1_1_ring_buffer.html#ae26646aaba5d158b6395bd46060ea079',1,'spectrex::RingBuffer']]]
12 | ];
13 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/all_e.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['read_0',['read',['../classspectrex_1_1_ring_buffer.html#aa0f55b15cb8fc80fab04ab01a4c15101',1,'spectrex::RingBuffer']]],
4 | ['reset_1',['reset',['../classspectrex_1_1_ring_buffer.html#a29e7348f1179716896366c5daf4c3434',1,'spectrex::RingBuffer']]],
5 | ['resetindices_2',['resetIndices',['../classspectrex_1_1_ring_buffer.html#a261e661fc1da371e94e5fe270ee69cd2',1,'spectrex::RingBuffer']]],
6 | ['resetposition_3',['resetPosition',['../classspectrex_1_1_k_processor.html#ae2e4e9df4c1750619a44f5773724993e',1,'spectrex::KProcessor']]],
7 | ['ringbuffer_4',['RingBuffer',['../classspectrex_1_1_ring_buffer.html',1,'spectrex::RingBuffer< T >'],['../classspectrex_1_1_ring_buffer.html#a3e6749e4397552c7e233b31eb3beda82',1,'spectrex::RingBuffer::RingBuffer()']]],
8 | ['rotate_5',['Rotate',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a8d2de5368588552fbae54044ac5c7b3d',1,'spectrex::ProcessorParameters']]],
9 | ['rowindex_6',['RowIndex',['../structspectrex_1_1_sync_info.html#a757a96953891dbe6e374bf9ee12f7b5b',1,'spectrex::SyncInfo']]],
10 | ['rows_7',['Rows',['../structspectrex_1_1_spectrogram_info.html#a784217015dd069c9f2c133ff71624efc',1,'spectrex::SpectrogramInfo']]],
11 | ['rowswritten_8',['RowsWritten',['../structspectrex_1_1_spectrogram_info.html#a4eaa3da4c3a503e19a4c58e7ec151a16',1,'spectrex::SpectrogramInfo']]]
12 | ];
13 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['exception_0',['Exception',['../classspectrex_1_1_exception.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['kcomponent_0',['KComponent',['../classspectrex_1_1_k_component.html',1,'spectrex']]],
4 | ['kcontext_1',['KContext',['../classspectrex_1_1_k_context.html',1,'spectrex']]],
5 | ['kprocessor_2',['KProcessor',['../classspectrex_1_1_k_processor.html',1,'spectrex']]],
6 | ['kspectrogramcomponent_3',['KSpectrogramComponent',['../classspectrex_1_1_k_spectrogram_component.html',1,'spectrex']]],
7 | ['kwaveformcomponent_4',['KWaveformComponent',['../classspectrex_1_1_k_waveform_component.html',1,'spectrex']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['miniprocessor_0',['MiniProcessor',['../classspectrex_1_1_mini_processor.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['noncopyable_0',['NonCopyable',['../structspectrex_1_1_non_copyable.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['processorparameters_0',['ProcessorParameters',['../classspectrex_1_1_processor_parameters.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ringbuffer_0',['RingBuffer',['../classspectrex_1_1_ring_buffer.html',1,'spectrex']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['spectrogramcomponentproperties_0',['SpectrogramComponentProperties',['../structspectrex_1_1_spectrogram_component_properties.html',1,'spectrex']]],
4 | ['spectrograminfo_1',['SpectrogramInfo',['../structspectrex_1_1_spectrogram_info.html',1,'spectrex']]],
5 | ['spectrumvalue_2',['SpectrumValue',['../structspectrex_1_1_spectrum_value.html',1,'spectrex']]],
6 | ['syncinfo_3',['SyncInfo',['../structspectrex_1_1_sync_info.html',1,'spectrex']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/classes_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['waveformbin_0',['WaveformBin',['../structspectrex_1_1_waveform_bin.html',1,'spectrex']]],
4 | ['waveformcomponentproperties_1',['WaveformComponentProperties',['../structspectrex_1_1_waveform_component_properties.html',1,'spectrex']]],
5 | ['waveforminfo_2',['WaveformInfo',['../structspectrex_1_1_waveform_info.html',1,'spectrex']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/close.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
19 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enums_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['directionflag_0',['DirectionFlag',['../classspectrex_1_1_k_component.html#ac52d274b4daf7c00c49d464032172650',1,'spectrex::KComponent']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enums_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['key_0',['Key',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enums_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['timeunit_0',['TimeUnit',['../classspectrex_1_1_k_processor.html#a8ab313a497460348e62ca356ccd18fc2',1,'spectrex::KProcessor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bpm_0',['Bpm',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720aa29f406867e1acbda958fbfcfac290aa',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['flatten_0',['Flatten',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a4adae1c15e93fd1abd85fcdd8b948e10',1,'spectrex::ProcessorParameters']]],
4 | ['ftsize_1',['FtSize',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a3f774122a786f83355759e08e6a23d97',1,'spectrex::ProcessorParameters']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['mixmode_0',['MixMode',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720aeac58524ac9aac2141d1d67b8371a432',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['override_0',['Override',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a6da8e67225fdcfa78c3ea5dc3154b849',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['playheadsynced_0',['PlayHeadSynced',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a362d3bc9620da63f845034a26fc42592',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['rotate_0',['Rotate',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a8d2de5368588552fbae54044ac5c7b3d',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['samplerate_0',['SampleRate',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720ab8b9b97682808000fc715cdd731e6165',1,'spectrex::ProcessorParameters']]],
4 | ['stftoverlap_1',['StftOverlap',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a75ea8ce59d2019036bb2e59b8bf6b44a',1,'spectrex::ProcessorParameters']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['timefactor_0',['TimeFactor',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720add6e7faa6774b440ee6c74a7222e638f',1,'spectrex::ProcessorParameters']]],
4 | ['timemultiplier_1',['TimeMultiplier',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720a3397cb1b5dbc9575cd50cdbd6b9f580b',1,'spectrex::ProcessorParameters']]],
5 | ['timesignaturenumerator_2',['TimeSignatureNumerator',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720ad6654250b76b2d89113892f3fd202105',1,'spectrex::ProcessorParameters']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/enumvalues_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['window_0',['Window',['../classspectrex_1_1_processor_parameters.html#ac1030da171494e02c6c54512c37d9720ac89686a387d2b12b3c729ce35a0bcb5b',1,'spectrex::ProcessorParameters']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['advance_0',['advance',['../classspectrex_1_1_ring_buffer.html#afbbcf5f1a023a6f9703bdac358761101',1,'spectrex::RingBuffer']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['beginframe_0',['beginFrame',['../classspectrex_1_1_k_processor.html#a8830a017e492cd219fab832f1467dd06',1,'spectrex::KProcessor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['cachesyncwaveformspectrogram_0',['cacheSyncWaveformSpectrogram',['../classspectrex_1_1_k_processor.html#abeceb92199890d069d4039cd39ea5152',1,'spectrex::KProcessor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['draw_0',['draw',['../classspectrex_1_1_k_component.html#a2076ae5704633c2c730975793cedc070',1,'spectrex::KComponent::draw()'],['../classspectrex_1_1_k_spectrogram_component.html#ac750d5230c48333dcc9dc12ba99e650b',1,'spectrex::KSpectrogramComponent::draw()'],['../classspectrex_1_1_k_waveform_component.html#aa4b2cc34ef62a7a0937bc3f40869a4ac',1,'spectrex::KWaveformComponent::draw()']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['exception_0',['Exception',['../classspectrex_1_1_exception.html#a39682f4df2aef1f12d8d78316d9f0222',1,'spectrex::Exception']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['hasnewvalue_0',['hasNewValue',['../classspectrex_1_1_processor_parameters.html#a156ae60aba697baf406ca2222744b17a',1,'spectrex::ProcessorParameters']]],
4 | ['hasvalue_1',['hasValue',['../classspectrex_1_1_processor_parameters.html#a5b7407021cab1a3cfb263ff6ae7cda83',1,'spectrex::ProcessorParameters']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['initializegl_0',['initializeGL',['../classspectrex_1_1_k_context.html#a3bf84cc819e4dece84be46377a32e04b',1,'spectrex::KContext']]],
4 | ['isinitialposition_1',['isInitialPosition',['../classspectrex_1_1_k_processor.html#a217bb273a00862d33a2176bb02e530e5',1,'spectrex::KProcessor']]],
5 | ['isvalid_2',['isValid',['../structspectrex_1_1_sync_info.html#acc2214aa58f13b383b983faaa75d2632',1,'spectrex::SyncInfo::isValid()'],['../classspectrex_1_1_k_processor.html#ab53584a77d59c965678fb38eb1a361e3',1,'spectrex::KProcessor::isValid()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['kprocessor_0',['KProcessor',['../classspectrex_1_1_k_processor.html#a518923bc5c0510b4cde5fb2064a354c0',1,'spectrex::KProcessor']]],
4 | ['kspectrogramcomponent_1',['KSpectrogramComponent',['../classspectrex_1_1_k_spectrogram_component.html#a9e48b426744eb7adf6ad497237e76cbe',1,'spectrex::KSpectrogramComponent']]],
5 | ['kwaveformcomponent_2',['KWaveformComponent',['../classspectrex_1_1_k_waveform_component.html#a745b34d83b4fc7bda4e6f90732949ab4',1,'spectrex::KWaveformComponent']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['onmousedoubleclick_0',['onMouseDoubleClick',['../classspectrex_1_1_k_component.html#ae5dd0b5fcc1bcd2dd9a6350ab77634a1',1,'spectrex::KComponent']]],
4 | ['onmousedrag_1',['onMouseDrag',['../classspectrex_1_1_k_component.html#a5c664693ea82aed7d452e618533f0688',1,'spectrex::KComponent']]],
5 | ['onmouseend_2',['onMouseEnd',['../classspectrex_1_1_k_component.html#ac19412b94363ed5d27c0e532194d46a3',1,'spectrex::KComponent']]],
6 | ['onmousemove_3',['onMouseMove',['../classspectrex_1_1_k_component.html#a2160ffd292daf59b4d9b8686b1caf895',1,'spectrex::KComponent']]],
7 | ['onmouseshiftdoubleclick_4',['onMouseShiftDoubleClick',['../classspectrex_1_1_k_component.html#a8dc97a011685bd59a204d6d8e66ce62e',1,'spectrex::KComponent']]],
8 | ['onmouseshiftdrag_5',['onMouseShiftDrag',['../classspectrex_1_1_k_component.html#a82712f9e4309ef1a178f32578886c497',1,'spectrex::KComponent']]],
9 | ['onmousestart_6',['onMouseStart',['../classspectrex_1_1_k_component.html#a0acde6bd72dffb88c3b85b308a6d4b15',1,'spectrex::KComponent']]],
10 | ['onmousewheel_7',['onMouseWheel',['../classspectrex_1_1_k_component.html#a88803564e939a0b2884558774fbe602e',1,'spectrex::KComponent']]],
11 | ['operator_20bool_8',['operator bool',['../classspectrex_1_1_processor_parameters.html#ac5641f6567403e9375b37c4f0cd236d9',1,'spectrex::ProcessorParameters']]],
12 | ['operator_2b_3d_9',['operator+=',['../structspectrex_1_1_spectrum_value.html#ac4e71485e7f8b7bfb7d30f10101800ef',1,'spectrex::SpectrumValue']]],
13 | ['operator_3c_3c_10',['operator<<',['../classspectrex_1_1_exception.html#a2e589e15d50841e2bbd8faec6b1aec05',1,'spectrex::Exception']]]
14 | ];
15 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['prepare_0',['prepare',['../classspectrex_1_1_k_processor.html#ab9045b8be18d083e28c1028ab7e9ad5c',1,'spectrex::KProcessor']]],
4 | ['preparetoplay_1',['prepareToPlay',['../classspectrex_1_1_mini_processor.html#a569f067a9138d2b74c06065cf8b330b9',1,'spectrex::MiniProcessor']]],
5 | ['process_2',['process',['../classspectrex_1_1_k_processor.html#a5f38706a243c716ad4661714c2f16f38',1,'spectrex::KProcessor']]],
6 | ['processblock_3',['processBlock',['../classspectrex_1_1_mini_processor.html#a44d7f8ab12741d30efefe8967e3110c0',1,'spectrex::MiniProcessor']]],
7 | ['processorparameters_4',['ProcessorParameters',['../classspectrex_1_1_processor_parameters.html#a6973da2a16be05aa4d210b03a139fea9',1,'spectrex::ProcessorParameters']]],
8 | ['push_5',['push',['../classspectrex_1_1_ring_buffer.html#ae26646aaba5d158b6395bd46060ea079',1,'spectrex::RingBuffer']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['read_0',['read',['../classspectrex_1_1_ring_buffer.html#aa0f55b15cb8fc80fab04ab01a4c15101',1,'spectrex::RingBuffer']]],
4 | ['reset_1',['reset',['../classspectrex_1_1_ring_buffer.html#a29e7348f1179716896366c5daf4c3434',1,'spectrex::RingBuffer']]],
5 | ['resetindices_2',['resetIndices',['../classspectrex_1_1_ring_buffer.html#a261e661fc1da371e94e5fe270ee69cd2',1,'spectrex::RingBuffer']]],
6 | ['resetposition_3',['resetPosition',['../classspectrex_1_1_k_processor.html#ae2e4e9df4c1750619a44f5773724993e',1,'spectrex::KProcessor']]],
7 | ['ringbuffer_4',['RingBuffer',['../classspectrex_1_1_ring_buffer.html#a3e6749e4397552c7e233b31eb3beda82',1,'spectrex::RingBuffer']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/functions_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['waveforminfo_0',['WaveformInfo',['../structspectrex_1_1_waveform_info.html#a8fc8f20ac84a2eee769dac88de9d7ae0',1,'spectrex::WaveformInfo::WaveformInfo() noexcept'],['../structspectrex_1_1_waveform_info.html#acff86f1992a1b564d5e72e45f5e3dfa7',1,'spectrex::WaveformInfo::WaveformInfo(size_t height, size_t writePointer) noexcept']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/mag.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
25 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/mag_d.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
25 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/mag_sel.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
32 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/mag_seld.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
32 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/pages_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['spectrex_0',['🐨 Spectrex',['../index.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/pages_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['threads_0',['Threads',['../req.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/pages_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['🐨_20spectrex_0',['🐨 Spectrex',['../index.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/searchdata.js:
--------------------------------------------------------------------------------
1 | var indexSectionsWithContent =
2 | {
3 | 0: "abcdefghikmnoprstvw🐨",
4 | 1: "ekmnprsw",
5 | 2: "abcdeghikoprsw",
6 | 3: "bcfhkmprtvw",
7 | 4: "ds",
8 | 5: "dkt",
9 | 6: "bfmoprstw",
10 | 7: "st🐨"
11 | };
12 |
13 | var indexSectionNames =
14 | {
15 | 0: "all",
16 | 1: "classes",
17 | 2: "functions",
18 | 3: "variables",
19 | 4: "typedefs",
20 | 5: "enums",
21 | 6: "enumvalues",
22 | 7: "pages"
23 | };
24 |
25 | var indexSectionLabels =
26 | {
27 | 0: "All",
28 | 1: "Classes",
29 | 2: "Functions",
30 | 3: "Variables",
31 | 4: "Typedefs",
32 | 5: "Enumerations",
33 | 6: "Enumerator",
34 | 7: "Pages"
35 | };
36 |
37 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/typedefs_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['direction_0',['Direction',['../classspectrex_1_1_k_component.html#ad23da2a4735d3c16a6588d2022dc0216',1,'spectrex::KComponent']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/typedefs_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['synchandler_0',['SyncHandler',['../classspectrex_1_1_k_processor.html#a143ee43afe0a8cb26dd8baca8109c96f',1,'spectrex::KProcessor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['backgroundcolor_0',['BackgroundColor',['../structspectrex_1_1_spectrogram_component_properties.html#a3458edd80ccff58839511598a1ea2b29',1,'spectrex::SpectrogramComponentProperties::BackgroundColor'],['../structspectrex_1_1_waveform_component_properties.html#a90f952831cd18422483bab378696b31f',1,'spectrex::WaveformComponentProperties::BackgroundColor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['clear_0',['Clear',['../structspectrex_1_1_sync_info.html#a09dd4ab5dc13e9ddbe69dc26ce29a0a8',1,'spectrex::SyncInfo']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['frequency_0',['Frequency',['../structspectrex_1_1_waveform_bin.html#a71b5edc353110a9876fbbc2321890287',1,'spectrex::WaveformBin']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['height_0',['Height',['../structspectrex_1_1_spectrogram_info.html#a597ea8d914b17d9db78c1012b2993988',1,'spectrex::SpectrogramInfo::Height'],['../structspectrex_1_1_waveform_info.html#a7d9b3de5eddf1705e992f84c22d28997',1,'spectrex::WaveformInfo::Height'],['../structspectrex_1_1_sync_info.html#afdfab942bbffd5c88d090070f9479a60',1,'spectrex::SyncInfo::Height']]],
4 | ['highlight_1',['Highlight',['../structspectrex_1_1_spectrum_value.html#a72c9dbd5b7edd2c1525ee3fbc1996f45',1,'spectrex::SpectrumValue']]],
5 | ['history_2',['History',['../structspectrex_1_1_spectrum_value.html#a21a3640e11249e37cacd6f62204e33b7',1,'spectrex::SpectrumValue']]],
6 | ['hold_3',['Hold',['../structspectrex_1_1_spectrum_value.html#a15c899015052e5859f46f545b13d7cdc',1,'spectrex::SpectrumValue']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['k_5fexpectedblocksize_0',['k_expectedBlockSize',['../classspectrex_1_1_k_processor.html#ad3d750f617b3672a2f0ba430b5b17f5b',1,'spectrex::KProcessor']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['max_0',['Max',['../structspectrex_1_1_waveform_bin.html#a709bba1c39322d7f0c8bfa136ceb32c3',1,'spectrex::WaveformBin']]],
4 | ['maxfrequency_1',['MaxFrequency',['../structspectrex_1_1_spectrogram_info.html#a0efd6ff735d6625199f6fef3d2be6d34',1,'spectrex::SpectrogramInfo']]],
5 | ['min_2',['Min',['../structspectrex_1_1_waveform_bin.html#a6618bf49891eccfe2eb6733b9804038c',1,'spectrex::WaveformBin']]],
6 | ['minfrequency_3',['MinFrequency',['../structspectrex_1_1_spectrogram_info.html#acb4d1bff778ad3309623924681f249c4',1,'spectrex::SpectrogramInfo']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['pointer_0',['Pointer',['../structspectrex_1_1_sync_info.html#ac438855d0bcb5d76c78c5924d921f974',1,'spectrex::SyncInfo']]],
4 | ['position_1',['Position',['../structspectrex_1_1_spectrogram_info.html#a9437742fe5acf63c6a8121e09bb5a8e8',1,'spectrex::SpectrogramInfo']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['rowindex_0',['RowIndex',['../structspectrex_1_1_sync_info.html#a757a96953891dbe6e374bf9ee12f7b5b',1,'spectrex::SyncInfo']]],
4 | ['rows_1',['Rows',['../structspectrex_1_1_spectrogram_info.html#a784217015dd069c9f2c133ff71624efc',1,'spectrex::SpectrogramInfo']]],
5 | ['rowswritten_2',['RowsWritten',['../structspectrex_1_1_spectrogram_info.html#a4eaa3da4c3a503e19a4c58e7ec151a16',1,'spectrex::SpectrogramInfo']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['timeoffset_0',['TimeOffset',['../structspectrex_1_1_spectrogram_info.html#a2fd97914e8bf4cb9c3bd5fb79914b3c0',1,'spectrex::SpectrogramInfo']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['value_0',['Value',['../structspectrex_1_1_spectrum_value.html#aa7087401d12bf63c05063d644c5e415b',1,'spectrex::SpectrumValue']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/docs/doxygen/html/search/variables_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['width_0',['Width',['../structspectrex_1_1_spectrogram_info.html#a4c716d37ef9bf4277960411cf29bfd06',1,'spectrex::SpectrogramInfo::Width'],['../structspectrex_1_1_sync_info.html#a823840094b17bd3dd52666500c3601e8',1,'spectrex::SyncInfo::Width']]],
4 | ['writepointer_1',['WritePointer',['../structspectrex_1_1_waveform_info.html#adb9b61621afbb2532228c90bac253737',1,'spectrex::WaveformInfo']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/docs/doxygen/html/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/splitbar.png
--------------------------------------------------------------------------------
/docs/doxygen/html/splitbard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/splitbard.png
--------------------------------------------------------------------------------
/docs/doxygen/html/structspectrex_1_1_non_copyable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/structspectrex_1_1_non_copyable.png
--------------------------------------------------------------------------------
/docs/doxygen/html/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/sync_off.png
--------------------------------------------------------------------------------
/docs/doxygen/html/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/sync_on.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_a.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_ad.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_b.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_bd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_bd.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_h.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_hd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_hd.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_s.png
--------------------------------------------------------------------------------
/docs/doxygen/html/tab_sd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/doxygen/html/tab_sd.png
--------------------------------------------------------------------------------
/docs/examples/viz2dapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/examples/viz2dapp.png
--------------------------------------------------------------------------------
/docs/examples/viz3dapp_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/examples/viz3dapp_1.png
--------------------------------------------------------------------------------
/docs/examples/viz3dapp_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/examples/viz3dapp_2.png
--------------------------------------------------------------------------------
/docs/examples/viz3dapp_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/koaladsp/SpectrexSDK/89befef024a085bd9af58ce165d2704e9af199b6/docs/examples/viz3dapp_3.png
--------------------------------------------------------------------------------
/examples/.clang-format:
--------------------------------------------------------------------------------
1 | ---
2 | BasedOnStyle: Mozilla
3 | IndentWidth: '4'
4 | ColumnLimit: 150
5 |
6 | ...
7 |
--------------------------------------------------------------------------------
/examples/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.18)
2 |
3 | # ExternalProject cmake dependency
4 | include(ExternalProject)
5 |
6 | # macOS specific project settings
7 | if(APPLE)
8 | # Set minimum required OSX deployment version
9 | set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "Minimum OS X deployment version")
10 | # Intel and M1 architectures
11 | set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "Build architectures for Mac OS X" FORCE)
12 | endif()
13 |
14 | project(ExampleApp
15 | LANGUAGES CXX C
16 | VERSION 1.0.0
17 | )
18 |
19 | # C++ Standard
20 | set(CMAKE_CXX_STANDARD 20)
21 | set(CMAKE_CXX_STANDARD_REQUIRED True)
22 |
23 | # Statically link runtimes on Windows (either MultiThreaded or MultiThreadedDebug depending on configuration)
24 | set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")
25 | set(MSVC_RUNTIME "MT")
26 |
27 | ### JUCE dependency
28 | add_subdirectory(3rd/JUCE)
29 |
30 | ###### Spectrex BEGIN
31 |
32 | ### Third party dependencies
33 | # glad
34 | set(GLAD_PROFILE "core" CACHE STRING "" FORCE)
35 | set(GLAD_API "gl=4.1" CACHE STRING "" FORCE)
36 | set(GLAD_GENERATOR "c" CACHE STRING "" FORCE)
37 | set(GLAD_EXTENSIONS "" CACHE STRING "" FORCE)
38 | set(GLAD_SPEC "gl" CACHE STRING "" FORCE)
39 | add_subdirectory(3rd/glad)
40 |
41 | # GLM
42 | add_subdirectory(3rd/glm)
43 |
44 | # GSL
45 | add_subdirectory(3rd/GSL)
46 |
47 | # ipp
48 | if(WIN32)
49 | add_subdirectory(3rd/ipp/2021.1.1-windows)
50 | elseif(APPLE)
51 | # It so happens that one of the BLAS providers on MacOS, supported by CMake's FindBLAS is the Accelerate
52 | # framework, which also provides VDSP
53 | set(BLAS_VENDOR Apple)
54 | find_package(BLAS REQUIRED)
55 | endif()
56 |
57 | ### Spectrex package
58 | set(SPECTREX_PATH ${PROJECT_SOURCE_DIR}/..) # Should point to the root directory of the spectrex SDK
59 | if(MSVC)
60 | if(NOT CMAKE_VS_PLATFORM_NAME)
61 | message(FATAL_ERROR "Please use -A Win32 or -A x64 to specify whether you're building for 32-bit or 64-bit!")
62 | endif()
63 | include(${SPECTREX_PATH}/cmake/msvc/v${MSVC_TOOLSET_VERSION}/${MSVC_RUNTIME}/${CMAKE_VS_PLATFORM_NAME}/Spectrex.cmake)
64 | elseif(APPLE)
65 | include(${SPECTREX_PATH}/cmake/macos/Spectrex.cmake)
66 | endif()
67 |
68 | # For project importing this library: Debug configuration uses Debug, all others use Release
69 | set_target_properties(Spectrex::Spectrex PROPERTIES
70 | MAP_IMPORTED_CONFIG_DEBUG Debug
71 | MAP_IMPORTED_CONFIG_RELEASE Release
72 | MAP_IMPORTED_CONFIG_MINSIZEREL Release
73 | MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
74 | )
75 | add_library(Spectrex ALIAS Spectrex::Spectrex)
76 |
77 | ###### Spectrex END
78 |
79 | if(MINGW)
80 | # Enable static libc++ linking if using llvm-mingw
81 | set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -Wl,-pdb=")
82 | endif()
83 |
84 | # Examples
85 | add_subdirectory(Viz2DApp)
86 | add_subdirectory(Viz3DApp)
87 |
--------------------------------------------------------------------------------
/examples/README.md:
--------------------------------------------------------------------------------
1 | # Spectrex Examples for JUCE
2 |
3 | This directory contains a few different examples that showcase how to use the Spectrex SDK in your own app, using the JUCE 7.x framework.
4 |
5 | All of these examples can be built as standalone, VST3, VST2, AU, AAX or other formats using JUCE.
6 |
7 | #### Viz2DApp
8 |
9 | A real-time 2D spectrogram application with a spectrogram and waveform.
10 |
11 | 
12 |
13 | The app uses the high-level `KComponent` classes provided by the SDK, so you don't have to implement your own analyzers and meters.
14 |
15 | * Fully synchronized spectrogram and waveform.
16 | * Live parameter tweaking.
17 | * Zooming and panning, lets you zoom into the data.
18 | * Start and stop functionality.
19 |
20 | #### Viz3DApp
21 |
22 | A real-time 3D spectrum application that uses GL shaders to visualize the audio spectrum in different creative ways.
23 |
24 |   
25 |
26 | The app uses a lower level approach that lets you build your own shaders to visualize the synchronized spectrum data yourself. The examples includes vertex, geometry and fragment shaders to adjust. You can build any type of shader that leverages the real-time spectrum data, knock yourself out!
27 |
28 | * A few colourful and retro 3D spectrum visualizers.
29 | * Custom shaders to process incoming spectrogram data.
30 | * Live parameter tweaking.
31 |
--------------------------------------------------------------------------------
/examples/Viz2DApp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Product
2 | juce_add_plugin(Viz2DApp
3 | COMPANY_NAME "KoalaDSP"
4 | COPY_PLUGIN_AFTER_BUILD TRUE
5 | FORMATS Standalone VST3
6 | PRODUCT_NAME "Viz2DApp"
7 | PLUGIN_NAME "Spectrex 2D Example App"
8 | IS_SYNTH FALSE
9 | NEEDS_MIDI_INPUT FALSE
10 | NEEDS_MIDI_OUTPUT FALSE
11 | IS_MIDI_EFFECT FALSE
12 | EDITOR_WANTS_KEYBOARD_FOCUS FALSE
13 |
14 | MICROPHONE_PERMISSION_ENABLED TRUE
15 | MICROPHONE_PERMISSION_TEXT "This app needs permissions to use your microphone."
16 | HARDENED_RUNTIME_OPTIONS com.apple.security.device.audio-input
17 | )
18 | target_compile_definitions(Viz2DApp
19 | PUBLIC
20 | # JUCE
21 | JUCE_VST3_CAN_REPLACE_VST2=0
22 | )
23 | set_target_properties(Viz2DApp PROPERTIES
24 | XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/entitlements.plist")
25 |
26 | # Sources
27 | target_sources(Viz2DApp
28 | PRIVATE
29 | # Headers
30 | PluginEditor.h
31 | PluginProcessor.h
32 | Parameters.h
33 | Utility.h
34 | WindowOpenGLContext.h
35 | ParameterWindow/ParameterWindow.h
36 | ParameterWindow/ParameterDisplay.h
37 | UI/Cursor.h
38 | UI/Visualization2DComponent.h
39 | UI/VisualizationComponent.h
40 |
41 | # Sources
42 | PluginEditor.cpp
43 | PluginProcessor.cpp
44 | WindowOpenGLContext.cpp
45 | ParameterWindow/ParameterWindow.cpp
46 | ParameterWindow/ParameterDisplay.cpp
47 | UI/Cursor.cpp
48 | UI/Visualization2DComponent.cpp
49 | UI/VisualizationComponent.cpp
50 | )
51 |
52 | # Link dependencies
53 | target_link_libraries(Viz2DApp
54 | PRIVATE
55 | # Spectrex dependencies
56 | Spectrex
57 | glm
58 | GSL
59 | glad
60 | $<$:ipp>
61 |
62 | # JUCE
63 | $
64 | $
65 | $
66 | )
67 |
--------------------------------------------------------------------------------
/examples/Viz2DApp/ParameterWindow/ParameterDisplay.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Plugin
4 | #include "../Parameters.h"
5 |
6 | // GLM
7 | #include
8 |
9 | // Stdlib
10 | #include
11 | #include