HISE Logo Forum
    • Categories
    • Register
    • Login

    Linux build of HISE

    Scheduled Pinned Locked Moved General Questions
    125 Posts 14 Posters 40.8k 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.
    • N
      nilshi
      last edited by

      Just tried to compile in Linux. I get the following error:

      ../../../../../HISE/hi_core/hi_core/UtilityClasses.cpp:215:47: error: ‘COMPLEX_SPLIT’ does not name a type
      void convolveComplex(float* signal, const COMPLEX_SPLIT &ir, int N)

      Full output log: http://pastebin.com/JWVDqfNM

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

        Should be fixed now. I was tinkering around with the vDSP library on OSX to get a fast convolution reverb on iOS where IPP is not available and this messed up the other operating systems.

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

          I have HISE working in Carla and have this playing back via virtual MIDI ports from both the Linux native version of Reaper and Windows Reaper running in Wine :)

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

          1 Reply Last reply Reply Quote 0
          • N
            nilshi
            last edited by

            It is working here now as well. I'm running the plugin and I can hear sound from the sine wave synth.

            I have tried to import an .sfz piano but apparently I have to edit something myself to make sound. At first I am not interested in designing instruments, however simple, myself.

            Is there a real sampled instrument somewhere (something 'acoustic' like strings would be fine) that you can load and just play?

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

              Actually, you should be able to import this SFZ into a sampler module and start playing:

              Link Preview Image
              Page not found – PatchArena

              favicon

              (patcharena.com)

              I'd recommend to switch to "One Shot" mode (Sampler Settings => Playback) so that decay naturally.

              1 Reply Last reply Reply Quote 0
              • X
                xeling
                last edited by xeling

                I haven't tried sfz files yet in HISE (just about to do that now), but here are a lot of sfz files that might be worth looking at: http://www.bandshed.net/sounds/sfz/ I got the link from a post by J_e_f_f_g at linuxmusicians.com

                1 Reply Last reply Reply Quote 0
                • N
                  nilshi
                  last edited by nilshi

                  I already tried sfz import but the sampler remained silent. The plugin opened 64 audio outputs so I am not sure if it sent on the first two ones, like expected. How can I check or change in HISE which of these outputs are used? Or wait... actually there wasn't even anything on the volume indicator in HISE itself when I played with the built-in onscreen keyboard. Even if I didn't connect the right audio outputs to my system speakers I should still see something visually in HISE itself, right?

                  But besides that? What would be the native HISE instrument format? If I want to make an instrument for other people and share it. Are there existing instruments of this kind out there?

                  1 Reply Last reply Reply Quote 0
                  • D
                    davephillips
                    last edited by

                    Hi Christoph, Am I correct assuming that the Export function still doesn't work for Linux ? IIRC you mentioned that that process is handled by a shell script. If so, where is that script ? I can try to debug it for Linux.

                    The export process fails with this error :

                    [dlphilp@The6300 build]$ ./HISE\ Standalone
                    Creating /home/dlphilp/HISE-MusicBox/Binaries/Source/PresetData.h and /home/dlphilp/HISE-MusicBox/Binaries/Source/PresetData.cpp from files in /home/dlphilp/HISE-MusicBox/Binaries/temp...

                    Adding preset: 10528 bytes
                    Adding impulses: 14 bytes
                    Adding externalFiles: 58 bytes
                    Adding userPresets: 14 bytes
                    Adding images: 10 bytes

                    Total size of binary data: 10624 bytes
                    Couldn't get a file descriptor referring to the console

                    What's happening there ? I see a batchCompileOSX file in my project Binaries directory, it's set up for Xcode, not Linux. I presume a similar file is needed for successful export to a native Linux VST/VSTi plugin.

                    Best,

                    dp

                    1 Reply Last reply Reply Quote 0
                    • D
                      davephillips
                      last edited by

                      Hi Christoph,

                      I loaded and played the PatchArena Marimba SFZ on the HISE sampler. I'll try a few more SFZ files today.

                      Best,

                      dp

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

                        What's happening there ? I see a batchCompileOSX file in my project Binaries directory, it's set up for Xcode, not Linux. I presume a similar file is needed for successful export to a native Linux VST/VSTi plugin.

                        Yes this needs to be customized for every OS. Currently it just checks if it's Windows and if not it creates the stuff for OS X.

                        It's not totally trivial though. The compilation chain is:

                        HISE -> Projucer -> Makefile -> Make -> Compiler (eg. clang++)
                        

                        so I need HISE to create a .jucer file that creates a Makefile that tells make what to do. You can call it a slight overkill of metaproject management :)

                        1 Reply Last reply Reply Quote 0
                        • D
                          diedeno
                          last edited by

                          I tried to use the standalone application on Linux (Ubuntu 16.4 LTS).
                          The software compiles without any error.
                          But when i try to start it, it (always) get a segmentaion fault.

                          startVoiceOpen
                          renderVoiceOpen
                          onNoteOnOpen
                          onNoteOffOpen
                          onControllerOpen
                          onControlOpen
                          externalPopupShown
                          Segmentation fault

                          strace:
                          write(2, "onControllerOpen", 16onControllerOpen) = 16
                          write(2, "\n", 1
                          ) = 1
                          write(2, "onControlOpen", 13onControlOpen) = 13
                          write(2, "\n", 1
                          ) = 1
                          write(2, "externalPopupShown", 18externalPopupShown) = 18
                          write(2, "\n", 1
                          ) = 1
                          --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x18} ---
                          +++ killed by SIGSEGV +++
                          Segmentation fault

                          in syslog:
                          Feb 4 19:12:28 SLEIPNIR-L kernel: [27915.222550] HISE Standalone[7153]: segfault at 18 ip 0000000000488162 sp 00007ffd96acd300 error 4 in HISE Standalone[400000+138e000]

                          Whaty could be the problem here?
                          Thank you very much.

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

                            Hmm, I can compile and run it without the segfaults. I uploaded the recent build for Ubuntu here:

                            HISE Standalone Linux

                            Can you check if this build runs on your system?

                            1 Reply Last reply Reply Quote 0
                            • D
                              diedeno
                              last edited by

                              Hi Christoph,

                              I've tried your build, and i have exactly the same problem as before .
                              That's weird because i have a fresh install of 16.04 LTS.
                              Distributor ID: Ubuntu
                              Description: Ubuntu 16.04.1 LTS
                              Release: 16.04
                              Codename: xenial

                              Analysing the core dump:

                              (gdb) set args
                              (gdb) run
                              Starting program: /home/charles/DEV/HISE Standalone
                              [Thread debugging using libthread_db enabled]
                              Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
                              [New Thread 0x7ffff4a24700 (LWP 15684)]
                              [New Thread 0x7ffff0a25700 (LWP 15685)]
                              [New Thread 0x7ffff7efe700 (LWP 15686)]
                              [New Thread 0x7ffff7e7d700 (LWP 15687)]
                              [Thread 0x7ffff7e7d700 (LWP 15687) exited]
                              [Thread 0x7ffff7efe700 (LWP 15686) exited]
                              [New Thread 0x7fffd7ffe700 (LWP 15688)]
                              [Thread 0x7fffd7ffe700 (LWP 15688) exited]
                              [New Thread 0x7fffd7ffe700 (LWP 15689)]
                              [New Thread 0x7fffcfffe700 (LWP 15690)]
                              [New Thread 0x7fffcbfff700 (LWP 15691)]
                              [Thread 0x7fffcbfff700 (LWP 15691) exited]

                              Thread 1 "HISE Standalone" received signal SIGSEGV, Segmentation fault.
                              0x00000000006d7be9 in ScriptingApi::Synth::Synth(ProcessorWithScriptingContent*, ModulatorSynth*) ()
                              (gdb) Quit

                              Thank you very much.

                              1 Reply Last reply Reply Quote 0
                              • D
                                diedeno
                                last edited by

                                Oeps, those big fonts were not meant to be. Sorry

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

                                  This is weird because the constructor is not called until you add a script processor. I'll check again for static initialisers...

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

                                    I found the issue - it's because you don't have a app data folder with the ModuleEnum.xml file which causes HISE to rescan all modules but this method is crashing due to a recent commit (which I didn't noticed because I have this file). Thanks for letting me know!

                                    I am busy fixing another issue right now, but I'll commit a fix for this tomorrow.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      diedeno
                                      last edited by

                                      OK, thank you very much.
                                      I"m looking forward to try it.

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

                                        Should be fixed with the latest commit. I probably have to extend the Travis CI test coverage to include running HISE and not just compiling it to avoid this kind of issues in the future :)

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          diedeno
                                          last edited by

                                          OK, this works. Thx

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            lacipor
                                            last edited by lacipor

                                            Hello Everybody!

                                            I've tried to build HISE on Ubuntu Studio 16.04.3 64-bit,
                                            but it stops at the point where the last line says "Linking HISE Standalone".
                                            This happens right after the "Compiling juce_tracktion_marketplace.cpp" line.
                                            All this happens in the terminal, but everything else looks the same as in Dave's Windows HISE build video on YouTube.

                                            I also made a build with Debug and Release in the Makefile, but of course it didn't change the thing, so it still doesn't work.

                                            I also disabled the IPP in Projucer, but it didn't help either.

                                            As I opened and saved the HISE Standalone project in Projucer,
                                            Projucer tried to update itself,
                                            but I clicked the "Cancel" button,
                                            so I did the saving with the Projucer version that comes with the GitHub Clone/Download,
                                            which is 4.3.0.

                                            I also have a few warnings while building,
                                            but I don't know what exactly to do about them.

                                            I have the "build" folder,
                                            and also a sub-folder in the "build" folder named "Intermediate" with a lot of files in it,
                                            and I have a "HISE Standalone" executable in it,
                                            but for some reason it doesn't execute,
                                            it just won't start.
                                            Am I missing something here?

                                            What should I do, any idea?

                                            Thank you for your help!

                                            THIS IS FROM THE TERMINAL (from START to (not) FINISH):
                                            Compiling DspUnitTests.cpp
                                            Compiling HiseEventBufferUnitTests.cpp
                                            Compiling MainComponent.cpp
                                            Compiling Main.cpp
                                            Compiling BinaryData.cpp
                                            Compiling hi_backend.cpp
                                            In file included from ../../../../../HISE-master/hi_backend/hi_backend.cpp:62:0,
                                            from ../../JuceLibraryCode/hi_backend.cpp:9:
                                            ../../../../../HISE-master/hi_backend/backend/CompileExporter.cpp: In member function ‘CompileExporter::ErrorCodes CompileExporter::compileSolution(CompileExporter::BuildOption, CompileExporter::TargetTypes)’:
                                            ../../../../../HISE-master/hi_backend/backend/CompileExporter.cpp:934:47: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result]
                                            system(permissionCommand.getCharPointer());
                                            ^
                                            ../../../../../HISE-master/hi_backend/backend/CompileExporter.cpp: In static member function ‘static void CompileExporter::BatchFileCreator::createBatchFile(CompileExporter*, CompileExporter::BuildOption, CompileExporter::TargetTypes)’:
                                            ../../../../../HISE-master/hi_backend/backend/CompileExporter.cpp:1927:43: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result]
                                            system(lineEndChange.getCharPointer());
                                            ^
                                            At global scope:
                                            cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
                                            Compiling hi_components.cpp
                                            Compiling hi_core.cpp
                                            Compiling hi_dsp.cpp
                                            Compiling hi_dsp_library.cpp
                                            Compiling hi_lac.cpp
                                            Compiling hi_modules.cpp
                                            Compiling hi_sampler.cpp
                                            Compiling hi_scripting.cpp
                                            Compiling juce_audio_basics.cpp
                                            Compiling juce_audio_devices.cpp
                                            Compiling juce_audio_formats.cpp
                                            Compiling juce_audio_processors.cpp
                                            In file included from ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:55:0,
                                            from ../../../../JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:153,
                                            from ../../JuceLibraryCode/juce_audio_processors.cpp:9:
                                            ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h:37:7: warning: ‘juce::VSTMidiEventList’ has a field ‘juce::VSTMidiEventList::events’ whose type uses the anonymous namespace
                                            class VSTMidiEventList
                                            ^
                                            In file included from ../../../../JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:153:0,
                                            from ../../JuceLibraryCode/juce_audio_processors.cpp:9:
                                            ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:325:7: warning: ‘juce::ModuleHandle’ has a field ‘juce::ModuleHandle::moduleMain’ whose type uses the anonymous namespace
                                            class ModuleHandle : public ReferenceCountedObject
                                            ^
                                            ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:325:7: warning: ‘juce::ModuleHandle’ has a field ‘juce::ModuleHandle::customMain’ whose type uses the anonymous namespace
                                            ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:589:7: warning: ‘juce::VSTPluginInstance’ has a field ‘juce::VSTPluginInstance::vstEffect’ whose type uses the anonymous namespace
                                            class VSTPluginInstance : public AudioPluginInstance,
                                            ^
                                            ../../../../JUCE/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:589:7: warning: ‘juce::VSTPluginInstance’ has a field ‘juce::VSTPluginInstance::vstHostTime’ whose type uses the anonymous namespace
                                            cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’
                                            Compiling juce_audio_utils.cpp
                                            Compiling juce_core.cpp
                                            Compiling juce_cryptography.cpp
                                            Compiling juce_data_structures.cpp
                                            Compiling juce_events.cpp
                                            Compiling juce_graphics.cpp
                                            Compiling juce_gui_basics.cpp
                                            Compiling juce_gui_extra.cpp
                                            Compiling juce_opengl.cpp
                                            Compiling juce_tracktion_marketplace.cpp
                                            Linking HISE Standalone
                                            lacipor@laciporpc:~/laciporpcc/downloads/HISE-master/projects/standalone/Builds/LinuxMakefile$ sudo make
                                            [sudo] password for lacipor:
                                            Linking HISE Standalone

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

                                            22

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.5k

                                            Posts