HISE Logo Forum
    • Categories
    • Register
    • Login

    Linux build of HISE

    Scheduled Pinned Locked Moved General Questions
    125 Posts 14 Posters 41.0k 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 @Christoph Hart
      last edited by

      @christoph-hart I haven't tested it, but I will try now

      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

        Yep it compiles to a .so and it opens in Reaper :)

        However when I load my HISE project and click to view the interface (either by clicking the home button or going to the interface designer) I get an instant close - this could be due to Reaper though so I'll download another DAW and test further.

        Another interesting thing, the HISE CPU meter reports much higher usage than the Reaper performance meter...

        0_1522857653248_Screenshot from 2018-04-04 16-58-59.png

        Edit: It also crashes Ardour and carla. Must be something in my particular project though because when I start a blank instrument I can create a GUI within the plugin no problem.

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

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

          I think the REAPER CPU meter is calculating the usage according to this formula :)

          displayedCpuUsage = realCpuUsage / 10.0
          
          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by

            That could be it (why would they do that?), but I'm also seeing different CPU in the task monitor. Does HISE show peak values only?

            0_1522862596728_Screenshot from 2018-04-04 18-22-39.png

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

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

              The activity monitor also takes the CPU usage for the UI rendering into account which is basically nonsense (as long as you don't have issues with low framerates). The audio performance is unaffected by this.

              But HISE is metering the CPU peaks (because they are interesting as they are responsible for dropouts). The average CPU usage is way lower.

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

                @christoph-hart Ah now I understand. :)

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

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

                  So...

                  I've finally added VST export :)

                  You should be able to compile native VST plugins on Linux now - by default it copies the .so file (which is the dynamic library for the plugin to ~/.vst/.

                  I've tested them with the JUCE plugin host and HISE as well as the exported demo project loads fine - although I am running on a Virtual Machine so I can't get any sound of the host nor get it running, so please confirm that it works on your system.

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

                    Oh ho! I shall try this out later tonight! Thanks

                    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

                      Linux export seems perfect so far, the VSTi opens in Reaper and plays perfectly. I haven't tried the whole install samples thing yet though...

                      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

                        The only issue I've found so far is when it pops up and asks if I want to open the folder containing the batch file, I click ok and it opens the path in my web browser.

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

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

                          Should be fixed now. Weirdly, it was working for me on my Ubuntu VM, but all the other functions that show a file location (like File->Show project in Finder) use its parent directory as target so this should work more consistently.

                          d.healeyD 1 Reply Last reply Reply Quote 1
                          • ?
                            A Former User
                            last edited by

                            Works great with Ardour4 on Ubuntu 17.10. Nice work!

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

                              @christoph-hart This still isn't working for me... and I noticed it opens in the web browser when I go to show project in finder too

                              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

                                Errors with standalone build

                                In file included from ../../JuceLibraryCode/JuceHeader.h:21:0,
                                                 from ../../Source/Plugin.cpp:2:
                                ../../Source/Plugin.cpp: In member function ‘juce::AudioProcessor* hise::StandaloneProcessor::createProcessor()’:
                                /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:116:67: error: ‘images’ is not a member of ‘PresetData’
                                  ValueTree imageData = hise::PresetHandler::loadValueTreeFromData(PresetData::i
                                                                                                   ^
                                ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
                                 AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WI
                                                                                                ^
                                /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:116:87: error: ‘imagesSize’ is not a member of ‘PresetData’
                                 ta = hise::PresetHandler::loadValueTreeFromData(PresetData::images, PresetData:
                                                                                                     ^
                                ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
                                 AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WI
                                                                                                ^
                                /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:118:69: error: ‘impulses’ is not a member of ‘PresetData’
                                  ValueTree impulseData = hise::PresetHandler::loadValueTreeFromData(PresetData:
                                                                                                     ^
                                ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
                                 AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WI
                                                                                                ^
                                /media/dave/work1/HISE Development Builds/HISE/hi_frontend/hi_frontend.h:118:91: error: ‘impulsesSize’ is not a member of ‘PresetData’
                                  = hise::PresetHandler::loadValueTreeFromData(PresetData::impulses, PresetData:
                                                                                                     ^
                                ../../Source/Plugin.cpp:12:64: note: in expansion of macro ‘CREATE_PLUGIN_WITH_AUDIO_FILES’
                                 AudioProcessor* hise::StandaloneProcessor::createProcessor() { CREATE_PLUGIN_WI
                                
                                

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

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

                                  It seems like something went wrong at autogenerated the resource files. Can you post the content of PresetData.h in you Build directory?

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

                                    @christoph-hart

                                    /* (Auto-generated binary data file). */
                                    
                                    #ifndef BINARY_PRESETDATA_H
                                    #define BINARY_PRESETDATA_H
                                    
                                    namespace PresetData
                                    {
                                        extern const char*  externalFiles;
                                        const int           externalFilesSize = 430810;
                                    
                                        extern const char*  preset;
                                        const int           presetSize = 1645467;
                                    
                                        extern const char*  userPresets;
                                        const int           userPresetsSize = 1526;
                                    
                                    }
                                    
                                    #endif
                                    
                                    

                                    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

                                      Presets aren't showing in the plugin either, also I get this when building the plugin

                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_core/zip/zlib/deflate.h:96:16: warning: type ‘struct internal_state’ violates one definition rule [-Wodr]
                                       typedef struct internal_state {
                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_graphics/image_formats/../../juce_core/zip/zlib/zlib.h:1347:12: note: a different type is defined in another translation unit
                                           struct internal_state {int dummy;}; /* hack for buggy compilers */
                                                  ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_core/zip/zlib/deflate.h:97:15: note: the first difference of corresponding definitions is field ‘strm’
                                           z_streamp strm;      /* pointer back to this zlib stream */
                                                     ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_graphics/image_formats/../../juce_core/zip/zlib/zlib.h:1347:32: note: a field with different name is defined in another translation unit
                                           struct internal_state {int dummy;}; /* hack for buggy compilers */
                                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_core/zip/zlib/zlib.h:83:16: warning: type ‘struct z_stream_s’ violates one definition rule [-Wodr]
                                       typedef struct z_stream_s {
                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_graphics/image_formats/../../juce_core/zip/zlib/zlib.h:83:16: note: a different type is defined in another translation unit
                                       typedef struct z_stream_s {
                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_core/zip/zlib/zlib.h:93:32: note: the first difference of corresponding definitions is field ‘state’
                                           struct internal_state FAR *state; /* not visible by applications */
                                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_graphics/image_formats/../../juce_core/zip/zlib/zlib.h:93:32: note: a field of same name but different type is defined in another translation unit
                                           struct internal_state FAR *state; /* not visible by applications */
                                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_core/zip/zlib/deflate.h:96:16: note: type ‘struct internal_state’ should match type ‘struct internal_state’ that itself violate one definition rule
                                       typedef struct internal_state {
                                                      ^
                                      /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_graphics/image_formats/../../juce_core/zip/zlib/zlib.h:1347:12: note: the incompatible type is defined here
                                           struct internal_state {int dummy;}; /* hack for buggy compilers */
                                                  ^
                                      In function ‘__poll_alias’,
                                          inlined from ‘sleepUntilEvent.constprop’ at /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:130:78,
                                          inlined from ‘dispatchNextMessageOnSystemQueue’ at /media/dave/work1/HISE Development Builds/HISE/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:244:42:
                                      /usr/include/x86_64-linux-gnu/bits/poll2.h:41:60: warning: call to ‘__poll_chk_warn’ declared with attribute warning: poll called with fds buffer too small file nfds entries
                                        return __poll_chk (__fds, __nfds, __timeout, __bos (__fds));
                                      
                                      

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

                                      1 Reply Last reply Reply Quote 0
                                      • Dominik MayerD
                                        Dominik Mayer
                                        last edited by Dominik Mayer

                                        confirmed. exactly the same issues here..

                                        /* (Auto-generated binary data file). */
                                        
                                        #ifndef BINARY_PRESETDATA_H
                                        #define BINARY_PRESETDATA_H
                                        
                                        namespace PresetData
                                        {
                                            extern const char*  preset;
                                            const int           presetSize = 3813;
                                        
                                            extern const char*  images;
                                            const int           imagesSize = 10;
                                        
                                            extern const char*  impulses;
                                            const int           impulsesSize = 14;
                                        
                                            extern const char*  userPresets;
                                            const int           userPresetsSize = 225;
                                        
                                            extern const char*  externalFiles;
                                            const int           externalFilesSize = 1742;
                                        
                                        }
                                        
                                        #endif
                                        

                                        on latest Ubuntu 16.04

                                        best,
                                        d

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

                                          Please try again, there was a nasty typo in the standalone export code which created a "default" Projucer project so it's very likely that this was also causing your issues.

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

                                            @christoph-hart Won't build for some reason

                                            In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/juce_dsp.h:239:0,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:68,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                                                             from ../../../../../HISE/hi_backend/hi_backend.h:55,
                                                             from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                                                             from ../../Source/MainComponent.h:12,
                                                             from ../../Source/MainComponent.cpp:12:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of ‘struct juce::dsp::SIMDRegister<long long int>’:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_streaming/hi_streaming/MonolithAudioFormat.h:402:77:   recursively required by substitution of ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmax(juce::dsp::SIMDRegister<Type>, juce::dsp::SIMDRegister<Type>) [with Type = long long int]’
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../hi_streaming/hi_streaming/MonolithAudioFormat.h:402:77:   required from here
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:84:43: error: invalid use of incomplete type ‘struct juce::dsp::SIMDNativeOps<long long int>’
                                                 typedef typename NativeOps::vSIMDType vSIMDType;
                                                                                       ^
                                            In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/juce_dsp.h:229:0,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core.h:68,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:55,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:61,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                                                             from ../../../../../HISE/hi_backend/hi_backend.h:55,
                                                             from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                                                             from ../../Source/MainComponent.h:12,
                                                             from ../../Source/MainComponent.cpp:12:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/../JUCE/modules/juce_dsp/native/juce_avx_SIMDNativeOps.h:51:8: note: declaration of ‘struct juce::dsp::SIMDNativeOps<long long int>’
                                             struct SIMDNativeOps;
                                                    ^
                                            In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:95:0,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                                                             from ../../../../../HISE/hi_backend/hi_backend.h:55,
                                                             from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                                                             from ../../Source/MainComponent.h:12,
                                                             from ../../Source/MainComponent.cpp:12:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingApiContent.h: In member function ‘Subtype* hise::ScriptingApi::Content::addComponent(juce::Identifier, int, int)’:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingApiContent.h:1946:40: error: invalid use of incomplete type ‘class hise::ProcessorWithScriptingContent’
                                               var savedValue = getScriptProcessor()->getSavedValue(name);
                                                                                    ^
                                            In file included from ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:72:0,
                                                             from ../../../../../HISE/hi_backend/../hi_modules/hi_modules.h:57,
                                                             from ../../../../../HISE/hi_backend/hi_backend.h:55,
                                                             from ../../Source/../JuceLibraryCode/JuceHeader.h:17,
                                                             from ../../Source/MainComponent.h:12,
                                                             from ../../Source/MainComponent.cpp:12:
                                            ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/scripting/api/ScriptingBaseObjects.h:39:7: note: forward declaration of ‘class hise::ProcessorWithScriptingContent’
                                             class ProcessorWithScriptingContent;
                                                   ^
                                            At global scope:
                                            cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
                                            Makefile:143: recipe for target 'build/intermediate/Release/MainComponent_a6ffb4a5.o' failed
                                            make: *** [build/intermediate/Release/MainComponent_a6ffb4a5.o] Error 1
                                            
                                            

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

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

                                            19

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.6k

                                            Posts