@Christoph-Hart I was so confused, because I gave @Straticah the code from your GitHub repo. :)
Posts
-
RE: SNEX UI Parametersposted in ScriptNode
-
RE: SNEX UI Parametersposted in ScriptNode
@Christoph-Hart I agree that your example is invalid, but that's not what @Straticah has in his example. The error probably is that he uses
dfor the parameter he calleddata. Not sure why the compiler flags line 58. Maybe it's always beginning of function. -
RE: SNEX UI Parametersposted in ScriptNode
@Christoph-Hart I'm still confused.
- Function: L59 -L75 (contains 2 nested scopes)
- Scope A: L60 -L65 (contains 1st p)
- Scope B: L68 -L74 (contains 2nd p)
Indentation is a little misleading, but it is valid.
-
RE: SNEX UI Parametersposted in ScriptNode
But this is legal:
{ // scope a int p = 42; // ... } { // scope b int p = 43; // ... } -
RE: SNEX UI Parametersposted in ScriptNode
@Christoph-Hart Which variable is redeclared? I don't see it? He has scopes around each parameter.
-
RE: JUCE 7posted in General Questions
Since the JUCE library within HISE is a hard fork, it is unfortunately not so easy to update to v7. However, you can still use various features in v6: CLAP can be tested via my experimental CMake branch. Unfortunately only for the HISE plugin itself for now. No CLAP exports.
I actually started a few days ago to make a plan how to update to v7 and especially how to stay up to date better/faster in the future. It'll be a few days before I post it, it's a pretty big undertaking if you want to do it "right". Especially if multiple people will work on it.
Stay tuned for my ideas/roadmap and I agree, an update would be nice.
-
RE: Arduino ?posted in General Questions
Unfortunately, connecting HISE with Arduinos is not really technically feasible.
Arduino
- Arduino is a collective term for microcontrollers that can be programmed with the Arduino ecosystem
- Arduino is a collection of C++ libraries, especially made for microcontrollers
- Arduinos have no operating system, no GPU and usually no heap and/or exceptions
- Typical Arduino MCUs have a maximum of 250Mhz CPU clock and kilobytes of RAM. Not megabytes
HISE
- HISE is a desktop application for modern high performance 64bit CPUs.
- The minimum CPU performance for HISE is about the same as a Raspberry Pi 3 or 4 (depending on what you have in mind).
- A Raspberry Pi has 4 cores with approx. 2Ghz each and 4 to 8 gigabytes of RAM
- All libraries that are used internally in HISE (JUCE, rLottie, zstd, mir, ...) are also not compatible with MCUs.
- Plugins (VST, AU, CLAP) are also not feasible without an operating system
- HiseScript/Javascript is too big for all microcontrollers
Theoretically feasible
- To compile SNEX programs for ARM microcontrollers, but for this you would also have to write drivers for the audio hardware. Not really within the scope of what makes sense for HISE. Other projects (PureData, MSP, Electro-Smith Daisy) are probably better for that.
-
Invalid character encoding in SNEX source filesposted in C++ Development
This GitHub Issue is the last active warning currently when compiling with either gcc & clang on Linux (I'm still excluding a couple of flags). It's probably easy to solve this one, I just don't know what character should go there. :)
-
RE: CMake Support (Developer Builds Only)posted in C++ Development
Another minor update:
- Add CMake target for CppBuilder
- [hi_tools/hi_rlottie] Cleanup module dependencies
- Add CMake target for tools/doc_builder
- Add CMake hise::binary_data alias target
- Fix warnings from clang-16
This should cover all "active" tool projects. I'm not sure what the status is with
tools/markdown_editorandtools/rLottie Demo. Both have last changed in 2021. -
RE: Anyone had this error before?posted in General Questions
@johnmike You can check the content of the auto generated Projucer project. It should be under
yout_project/Binaries/AutogeneratedProject.jucer. It's an xml file, search foraaxFolder. You should get two results, one for the<VS2017>exporter, the other for<XCODE_MAC>. They should point to the SDK. Also, check that themaster/tools/SDK/AAXactual exists and contains files. -
RE: Anyone had this error before?posted in General Questions
Where does your
AAX Pathin your Projucer settings point to? And which VS version 2019 or 2022? -
RE: CMake Support (Developer Builds Only)posted in C++ Development
I just noticed that not all snex tests where running, so:
Now test coverage looks a lot better. I also exclude all external code from the report (mir, rlottie, ...)
Modules

SNEX

gcovr
gcovr \ --html-nested \ -e ".*juce_.*\..*" \ -e ".*$build_dir.*" \ -e ".*hi_dsp_library\/dywapitchtrack.*" \ -e ".*hi_dsp_library\/fft_convolver.*" \ -e ".*hi_rlottie\/include.*" \ -e ".*hi_rlottie\/src.*" \ -e ".*hi_snex\/src.*" \ -e ".*hi_streaming\/timestretch\/signalsmith_stretch.*" \ -e ".*hi_tools\/gin_images.*" \ -e ".*hi_zstd\/zstd.*" \ --exclude-unreachable-branches \ --exclude-throw-branches \ --merge-mode-functions merge-use-line-min \ -r . \ -s $build_dir \ -o $build_dir/html/index.html \ -
RE: CMake Support (Developer Builds Only)posted in C++ Development
I've added some of the projects in
HISE/toolsto the CMake files. CTest is now also enabled, and runs the tests fromHISEStandalone run_unit_testsandhlac_tool unit_test. I needed to disable some 64bit tests in the hlac test-suite, not sure what's going on, Maybe because I'm not using IPP. Code coverage also works.Commits:
CTest
Workflow is the same on all platforms, coverage should work on Linux & macOS, if
gcovris installed.# coverage flags are optional cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Debug -D CMAKE_CXX_FLAGS="--coverage" # build everything cmake --build build # or only the test targets cmake --build build --target HISE_Standalone hlac_tool # run tests ctest --test-dir build -C Debug --output-on-failure -V -j 2 # html coverage report excluding JUCE code (gcovr may take ~1min) mkdir build/html gcovr --html-nested -e ".*juce_.*\..*" --exclude-unreachable-branches --exclude-throw-branches --merge-mode-functions separate -r . -s build -o build/html/index.html -j 8 firefox build/html/index.htmlHISE:

hi_lac:

hi_snex:

-
RE: CMake Support (Developer Builds Only)posted in C++ Development
I think soonish would be a good time to merge my changes. For all the next steps I have planned, individual feature/bug-fix branches make more sense, as they are not directly related to CMake support. The current state is sufficient as a base to compile and run HISE on all platforms. There are 12 small commits including CLAP support (via CMake only).
The only two commits that could affect the Projucer workflow are the following:
All others, only added new files, or updated JUCE CMake files, which where unused before. Nevertheless it would be nice if people who have experience with HISE compiles could checkout my branch and test the normal Projucer workflow. Just to make sure that nothing is broken.
# Clone or download from GitHub git clone -b basic-cmake-support https://github.com/tobiashienzsch/HISE HISE-CMakeSmall question:
We need a directory to store common CMake code (warning flags, ...). Usally projects have a top-level
project/cmakedirectory. JUCE has it underJUCE/extras/Build/CMake. My suggestion:HISE/tools/cmake. -
RE: Slowwwwer LFOs (scriptnode based I assume)posted in General Questions
@ulrik Once enabled, you should have these 5 extra:

-
RE: CMake Support (Developer Builds Only)posted in C++ Development
Next update:
Windows
MSVC
- Compiles and runs with Visual Studio 17 2022
- Both plugin & standalone
JUCE_ASIOis enabled and the include path points totools/SDK/...Ninjaas a generator works (Faster builds)
ClangCL
Does not have the same SSE level enabled by default, but when enabled it compiles, but does not link.
clang
Clang (GNU style) unfortunately does not work yet. Am a bit confused by the error message. The compiler warns that the
AppConfig.his found using theMicrosoft include style. It finds the file inprojects/standalone/JuceLibraryCode, although this folder is not in the include paths. Actually the empty dummy file should be found inprojects/standalone/Source/Config. Maybe this has something to do with the incude style../../module/module.hvs.module/module.h. I do not know yet.Linux ARM64
- Commits: None necessary
After some playing around I was also able to build all HISE executables (standalone, VST3 & CLAP) on Linux ARM64. I had to disable LTO for this because I didn't have enough RAM otherwise. After that everything worked without problems. I tested it with gcc 10.2 and clang-17 on a RaspberryPi 4 (4GB). I don't have a screen connected to the Pi at the moment, so the only test was to send the CLAP version through clap-info.
CLAP
- Commit: 536a690
I've added the clap-juce-extensions via
FetchContentin CMake. Works as expected. I don't have a CLAP ready DAW, so the only thing I could test was to run it through clap-info. I tested on the following systems:- macOS 13 (M2)
- Fedora 38 (AMD Threadripper)
- Raspberry OS / Debian 11 (ARM64)
- Compiles and runs with Visual Studio 17 2022
-
RE: CMake Support (Developer Builds Only)posted in C++ Development
@d-healey Support for LV2 came in JUCE 7.0.0, so not at the moment. Would need to upgrade JUCE, but thats a bigger beast.
-
RE: CMake Support (Developer Builds Only)posted in C++ Development
@Christoph-Hart Hi Christoph,
no stress, as long as I know that the changes can be merged at some point, everything is fine :)
CLAP support I also thought about, should be super easy with CMake. There is also Projucer support for the CLAP extensions, but they are a bit weird. You still need CMake as a build tool. I have never used it.
I will keep you posted here in the thread about news. Next steps are more tests on Windows, and then I will enable some more clang-tidy checks.
I try to keep my commits as minimal as possible, so I don't hinder your workflow for now.
-
RE: CMake Support (Developer Builds Only)posted in C++ Development
@tobante Yup, looks like 7.0.6 JUCE ChangeLog
-
RE: CMake Support (Developer Builds Only)posted in C++ Development
@d-healey Whatever JUCE 6.1.3 does in its CMake files,I think the bundle came later.