HISE Logo Forum
    • Categories
    • Register
    • Login

    Roadmap to HISE 5

    Scheduled Pinned Locked Moved General Questions
    103 Posts 15 Posters 2.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey
      last edited by d.healey

      [bug] It's still not possible to change a sample's RR group. It just sets it to 0.

      Link Preview Image
      [Bug] Moving sample to RR group sets it to 0

      I just noticed if I select a sample in the mapping editor and click the +- buttons (or enter a number manually) to move it to another RR group, it gets set t...

      favicon

      Forum (forum.hise.audio)

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      1 Reply Last reply Reply Quote 0
      • MorphoiceM
        Morphoice @d.healey
        last edited by

        @d-healey oh boy she's a beauty

        https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

        1 Reply Last reply Reply Quote 0
        • G
          guangcoder
          last edited by

          Cheer!

          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @d.healey
            last edited by

            @d-healey said in Roadmap to HISE 5:

            125 | #error "this should not be defined before this so if this error appears, remove USE_IPP from your preprocessor definitions...

            @Christoph-Hart You're missing a double quote at the end of the error message which is why I'm seeing it.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey
              last edited by d.healey

              @Christoph-Hart I suggest that HISE_USE_SCRIPT_RECTANGLE_OBJECT=1 should be enabled by default in HISE 5.

              Also, seeing these errors when exporting VST3 on Linux (standalone export is fine).

              /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/SampleEditor.cpp:1693:28: error: ‘GET_BACKEND_ROOT_WINDOW’ was not declared in this scope
               1693 |                 auto bpe = GET_BACKEND_ROOT_WINDOW(this);
                    |                            ^~~~~~~~~~~~~~~~~~~~~~~
              /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/SampleEditor.cpp:1694:41: error: ‘library’ in namespace ‘hise::multipage’ does not name a type
               1694 |                 auto n = new multipage::library::ReleaseStartOptionDialog(bpe, sampler);
                    |                                         ^~~~~~~
              In file included from /media/dave/Work/Tools/HISE/hi_core/hi_sampler/hi_sampler.cpp:68:
              /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/ComplexGroupManagerComponent.cpp: In constructor ‘hise::ComplexGroupManagerComponent::ParseToolbar::ParseToolbar(hise::ComponentWithGroupManagerConnection&, const juce::ValueTree&)’:
              /media/dave/Work/Tools/HISE/hi_core/hi_sampler/sampler/components/ComplexGroupManagerComponent.cpp:2376:23: error: expected type-specifier
               2376 |         tokeniser(new Console::ConsoleTokeniser()),
              

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey
                last edited by d.healey

                I've readded support for IPP on Linux - https://github.com/christophhart/HISE/pull/754

                Edit: Hold off merging this, I have an idea I want to try to make it a little more cross-distro friendly.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                Christoph HartC 1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart @d.healey
                  last edited by

                  @d-healey Can the OneAPI thingie on Linux also add the library search path etc?

                  Ideally you would never have to set USE_IPP manually and it will pick up the definitions made by the IPP headers like it‘s doing on Windows now.

                  d.healeyD 2 Replies Last reply Reply Quote 1
                  • d.healeyD
                    d.healey @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Roadmap to HISE 5:

                    @d-healey Can the OneAPI thingie on Linux also add the library search path etc?

                    Ideally you would never have to set USE_IPP manually and it will pick up the definitions made by the IPP headers like it‘s doing on Windows now.

                    I'll look into it.

                    What I'm thinking is probably going to be the most cross-distro solution is to have the user add the root folder to their bashrc file (environment variable). I also want to do this for FFTW so it builds with the static library instead of the shared library.

                    Libre Wave - Freedom respecting instruments and effects
                    My Patreon - HISE tutorials
                    YouTube Channel - Public HISE tutorials

                    1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @Christoph Hart
                      last edited by d.healey

                      @Christoph-Hart Can you tell me how on Windows, when compiling HISE, it knows where to find the IPP files without the paths being specified in Projucer? I'm looking through the source at the moment but not seeing it.

                      Edit: Ah I think I figured it out. The installer is setting some environment variables or something on Windows, and has all the fancy integration with VS so it just works.

                      I'll see how close I can get on Linux, probably have to manually set the env variables though.

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @d.healey
                        last edited by Christoph Hart

                        The installer is setting some environment variables or something on Windows

                        I think it's all handled by the VisualStudio OneAPI extension, that's why I removed all the manual preprocessors.

                        8cbec44c-62d0-4163-b293-73e08165c920-image.png

                        In the first module that is included in HISE (hi_lac), I'm then just picking up the preprocessors defined by the included IPP headers like this:

                        #if JUCE_WINDOWS
                        #if _IPP_SEQUENTIAL_STATIC || _IPP_SEQUENTIAL_DYNAMIC || _IPP_PARALLEL_STATIC || _IPP_PARALLEL_DYNAMIC
                        #define USE_IPP 1
                        #else
                        #define USE_IPP 0
                        #endif
                        #else
                        #define USE_IPP 0
                        #endif
                        

                        It might be enough to just change the first line to #if JUCE_WINDOWS || JUCE_LINUX and then set environment variables for global library / header search paths

                        d.healeyD 2 Replies Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @Christoph Hart
                          last edited by

                          @Christoph-Hart Yep that looks like it, I've been poking around in VS too to see where those macros are declared.

                          There doesn't seem to be any nice integration like that for gcc/g++/make so it will require a little more manual work but I'll try and avoid the need for USE_IPP and make it as painless as possible.

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @d.healey
                            last edited by

                            @d-healey oops, I edited my post below while you were replying...

                            1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @Christoph Hart
                              last edited by

                              @Christoph-Hart said in Roadmap to HISE 5:

                              It might be enough to just change the first line to #if JUCE_WINDOWS || JUCE_LINUX

                              Those macros _IPP_SEQUENTIAL_STATIC || _IPP_SEQUENTIAL_DYNAMIC || _IPP_PARALLEL_STATIC || _IPP_PARALLEL_DYNAMIC seem to be created by VS, unless I'm misunderstanding them, so they won't be picked up on Linux.

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              Christoph HartC 1 Reply Last reply Reply Quote 0
                              • Christoph HartC
                                Christoph Hart @d.healey
                                last edited by

                                @d-healey Ah yes, you're right, I thought they are defined in the <ipp.h> header.

                                I think the closest you can get on Linux is:

                                1. Make sure that the IPP headers / libraries are in a system path that is globally accessible => this might require some environment variable setup, we can add this to the readme build instructions.
                                2. Define _IPP_SEQUENTIAL_STATIC=1 in your build setup. If you want to compile HISE with IPP on Linux you'll have to put that into the preprocessor definitions (as this "emulates" the OneAPI configuration). If you compile a plugin, then the HISE exporter just needs to add this to the ExtraDefinitionsLinux field - I can rewrite the logic to pick up the setting from the UseIpp property in the Hise compiler settings, but a manual preprocessor in said field should also do the trick for now.
                                d.healeyD 2 Replies Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @Christoph Hart
                                  last edited by d.healey

                                  @Christoph-Hart said in Roadmap to HISE 5:

                                  Define _IPP_SEQUENTIAL_STATIC=1 in your build setup.

                                  In the extra preprocessor definitions?

                                  Edit: Yes that seems to work, it might have some unexpected effect though

                                  I'm seeing this in the output

                                  /home/dave/intel/oneapi/ipp/latest/include/ipp/ippdefs.h:107:169: note: ‘#pragma message: defines _IPP_PARALLEL_DYNAMIC/_IPP_PARALLEL_STATIC/_IPP_SEQUENTIAL_DYNAMIC/_IPP_SEQUENTIAL_STATIC do not have any effect in current configuration’
                                    107 |     #pragma message ("defines _IPP_PARALLEL_DYNAMIC/_IPP_PARALLEL_STATIC/_IPP_SEQUENTIAL_DYNAMIC/_IPP_SEQUENTIAL_STATIC do not have any effect in current configuration")
                                  

                                  Using USE_IPP=1 doesn't have this.

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

                                  1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @Christoph Hart
                                    last edited by d.healey

                                    @Christoph-Hart Ok I've got it working with this setup.

                                    In ./bashrc add some environment variables

                                    #IPP
                                    export IPPROOT=/home/dave/intel/oneapi/ipp/latest # Set this path to correct folder on your system
                                    export CPATH=$IPPROOT/include:$CPATH
                                    export LIBRARY_PATH=$IPPROOT/lib:$LIBRARY_PATH
                                    export LD_LIBRARY_PATH=$IPPROOT/lib:$LD_LIBRARY_PATH
                                    

                                    Compiling HISE:
                                    Add USE_IPP=1 to Extra Preprocessor Definitions (avoids the issue I mentioned above).
                                    Add -lippcore -lippvm -lipps -lippi -lippcv to Extra Linker Flags.

                                    Compiling Projects:
                                    Check the Use IPP checkbox in project preferences.
                                    This automatically adds the flags and definition to the autogenerated juce project

                                    Edit: It doesn't seem to cause any issues to leave those extra linker flags in even when not using IPP, we could also add the flags for fftw too.

                                    I'll keep working on this tomorrow, I'd like to make it using FFTW3 just as easy.

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    1 Reply Last reply Reply Quote 1
                                    • clevername27C
                                      clevername27 @Christoph Hart
                                      last edited by

                                      @Christoph-Hart That's what I got from this:

                                      7fb951ee-2b04-45fa-9ad9-e5258c8ac9c9-image.png

                                      I should mention that I'm rarely here any more, so I may miss your reply. I do still check in from time to time.

                                      Christoph HartC 1 Reply Last reply Reply Quote 0
                                      • Christoph HartC
                                        Christoph Hart @clevername27
                                        last edited by

                                        Edit: It doesn't seem to cause any issues to leave those extra linker flags in even when not using IPP, we could also add the flags for fftw too.

                                        I'm pretty sure the compilation will fail if you haven't IPP installed and trying to link with the libraries. Have you checked this on a vanilla system?

                                        d.healeyD 2 Replies Last reply Reply Quote 0
                                        • d.healeyD
                                          d.healey @Christoph Hart
                                          last edited by d.healey

                                          @Christoph-Hart said in Roadmap to HISE 5:

                                          Have you checked this on a vanilla system?

                                          I have not, I will test

                                          Update: Yep, good call, you were correct.

                                          Libre Wave - Freedom respecting instruments and effects
                                          My Patreon - HISE tutorials
                                          YouTube Channel - Public HISE tutorials

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            tomekslesicki
                                            last edited by

                                            I just wanted to chime in and say I really appreciate your work, and that the recent additions are awesome. Thank you!

                                            1 Reply Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            17

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            105.4k

                                            Posts