HISE Logo Forum
    • Categories
    • Register
    • Login

    Vst Instrument without having to install the samples

    Scheduled Pinned Locked Moved General Questions
    53 Posts 10 Posters 4.7k 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.
    • ustkU
      ustk @Lindon
      last edited by ustk

      @Lindon I tried to add \nbut it doesn't work. Although I've seen it in some other .cpp using the same message window...
      So I let it on one line... any idea?

      PresetHandler::showMessageWindow("Samples imported", "All samples were imported successfully.\nPlease relaunch the instrument.");
      

      Can't help pressing F5 in the forum...

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

        Try \r\n

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

        ustkU 1 Reply Last reply Reply Quote 1
        • ustkU
          ustk @d.healey
          last edited by

          @d-healey It doesn't work, it's taken as a literal... Not a big deal though!

          Can't help pressing F5 in the forum...

          AxiomCruxA 1 Reply Last reply Reply Quote 0
          • AxiomCruxA
            AxiomCrux @ustk
            last edited by AxiomCrux

            @ustk Do you maybe have to do it with another quote as in :

            PresetHandler::showMessageWindow("Samples imported", "All samples were imported successfully."\n"Please relaunch the instrument.");
            

            or maybe it just requires a space between the /n? as in :

            PresetHandler::showMessageWindow("Samples imported", "All samples were imported successfully. \n Please relaunch the instrument.");
            

            http://www.axiom-crux.net

            1 Reply Last reply Reply Quote 0
            • AxiomCruxA
              AxiomCrux @ustk
              last edited by

              @ustk Also, as far as my other mentioned slightly more ideal option, do you know what it is that happens upon plugin load that makes it so it works when you reload it? Is there any possible way to trigger the sample references or whatever is happening to be re-initialized automatically upon hitting OK on the popup? I realize that might be slightly more complex than the text solution, just figured it might be worth asking, as then it would simply work without needing to reload at all.

              Either way good work :D. thanks for doing this :)

              http://www.axiom-crux.net

              ustkU 1 Reply Last reply Reply Quote 0
              • ustkU
                ustk @AxiomCrux
                last edited by

                @MacroMachines said in Vst Instrument without having to install the samples:

                @ustk Do you maybe have to do it with another quote as in :

                PresetHandler::showMessageWindow("Samples imported", "All samples were imported successfully."\n"Please relaunch the instrument.");
                

                or maybe it just requires a space between the /n? as in :

                PresetHandler::showMessageWindow("Samples imported", "All samples were imported successfully. \n Please relaunch the instrument.");
                

                I tried both solutions but the first throws a compile error and the second doesn't work...

                @ustk Also, as far as my other mentioned slightly more ideal option, do you know what it is that happens upon plugin load that makes it so it works when you reload it? Is there any possible way to trigger the sample references or whatever is happening to be re-initialized automatically upon hitting OK on the popup? I realize that might be slightly more complex than the text solution, just figured it might be worth asking, as then it would simply work without needing to reload at all.

                Either way good work :D. thanks for doing this :)

                I think it's because samples aren't found at init so the plugin needs a re-init that can only be done this way I imagine. But there might be a solution to this at Christoph's level, dunno...

                Can't help pressing F5 in the forum...

                AxiomCruxA 1 Reply Last reply Reply Quote 0
                • AxiomCruxA
                  AxiomCrux @ustk
                  last edited by

                  @ustk I just found this in the JUCE doc, taking the output kadenze online course:

                  void 	drawSingleLineText (const String &text, int startX, int baselineY, Justification justification=Justification::left) const
                   	Draws a one-line text string. More...
                   
                  void 	drawMultiLineText (const String &text, int startX, int baselineY, int maximumLineWidth, Justification justification=Justification::left, float leading=0.0f) const
                   	Draws text across multiple lines. More...
                  

                  So he may have used the single line text in the message window class possibly?

                  http://www.axiom-crux.net

                  ustkU 1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @AxiomCrux
                    last edited by ustk

                    @MacroMachines seems a nice find, but when searching for that I found no references to these methods in Hise, code, only once in a juce file for the multiLine
                    here's the function that is called in the PresetHandler.cpp, but this is the end of my skills...

                    void PresetHandler::showMessageWindow(const String &title, const String &message, PresetHandler::IconType type)
                    {
                    #if USE_BACKEND
                        if (CompileExporter::isExportingFromCommandLine())
                        {
                    	std::cout << title << ": " << message << std::endl;
                    	return;
                        }
                    		
                    #endif
                    
                    #if HISE_IOS
                        
                        NativeMessageBox::showMessageBox(AlertWindow::AlertIconType::NoIcon, title, message);
                        
                    #else
                    
                        ScopedPointer<LookAndFeel> laf = createAlertWindowLookAndFeel();
                        ScopedPointer<MessageWithIcon> comp = new MessageWithIcon(type, laf, message);
                        ScopedPointer<AlertWindow> nameWindow = new AlertWindow(title, "", AlertWindow::AlertIconType::NoIcon);
                        
                        nameWindow->setLookAndFeel(laf);
                        nameWindow->addCustomComponent(comp);
                        nameWindow->addButton("OK", 1, KeyPress(KeyPress::returnKey));
                        
                        nameWindow->runModalLoop();
                    #endif
                    
                        return ;
                    };
                    

                    Can't help pressing F5 in the forum...

                    1 Reply Last reply Reply Quote 0
                    • NatanN
                      Natan
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • FrankbeatF
                        Frankbeat
                        last edited by Frankbeat

                        In case this isn't yet solved since this old threat stopped growing and some of you are still interrested…

                        As far as a Mac VST is concerned: I have put my samples folder into the MyInstrument.vst itself. This is possible by right clicking it in Finder and choosing Show Package Content. This opens its subdirectory where you could store your samples folder in.

                        Of course, this is kind of a hack and doesn't come with the PlugIn recognizing the path automatically, but… Isn't there any string within the bundle that could be changed from something like

                        %HOME%/Library/Applications Support/your_company_name/
                        

                        to something like

                        %HOME%/Library/Audio/PlugIns/VST/YourInstrumentName.vst/Samples
                        

                        ?

                        Using HISE from the develop branch (Feb '23)

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Frankbeat
                          last edited by Lindon

                          @Frankbeat The plugin will "look for" the sample folder on start up - this is always in the LinkOS file in the "AppData" folder - I think its a pretty big hack to change this -

                          Plus it then it makes the sample location very very fixed, as well as making some pretty big assumptions about the machine config. and disk layout, and space availability on your end users machine s(which is why it was done this way to start with) , so the problems with this approach are:

                          1. you dont have any known fixed locations across OSes
                          2. You dont know how much disk space is available on the users machine even if you knew this location
                          3. The location you hard-wire is impossible to change for the user

                          So the only alternative is to ask the user where they want to put the samples - and use that location(stored in a file that the plugin looks at on start up - that's the LinkOS files)

                          HISE Development for hire.
                          www.channelrobot.com

                          clevername27C 1 Reply Last reply Reply Quote 2
                          • clevername27C
                            clevername27 @Lindon
                            last edited by clevername27

                            @Lindon @Frankbeat @ustk I realize that embedding the samples isn't useful for most cases. I'm only throwing my hat into the ring here because in my case, it is. 🌈

                            I'm building prototypes to demonstrate things, not creating products for distribution. And in that case, nobody wants to get involved with downloading samples, remembering where they are, remembering to delete them when they're done, etc. They only run the plugin once—and that one time, it simply needs to "work."

                            Anyway, if anyone has any motion on this, I'd truly appreciate it.

                            EDIT: I've figured out how to do this one.

                            FrankbeatF 1 Reply Last reply Reply Quote 1
                            • FrankbeatF
                              Frankbeat @clevername27
                              last edited by

                              @clevername27 I feel you!

                              I stopped creating my own plugins because I wouldn't be getting into it enough to fit it to my requirements (I leave that up to the real developers that have way more skills for that matter). But nevermind… It was a lot of fun to experiment with this framework.

                              And not to forget: This is a great community here! I never experienced a forum that helped me out so much. Salute to you, @d-healey and the great master @Christoph-Hart !

                              Using HISE from the develop branch (Feb '23)

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

                              45

                              Online

                              1.7k

                              Users

                              11.7k

                              Topics

                              102.1k

                              Posts