HISE Logo Forum
    • Categories
    • Register
    • Login

    MAC preset and locations changes NIGHTMARE!

    Scheduled Pinned Locked Moved Bug Reports
    maclibrarywildcardspaths
    12 Posts 6 Posters 753 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.
    • M
      mwplugs
      last edited by

      so...i had been using a scriptnode version from about 9 months ago or before and everything worked great. over the last 3 years i had made probably 700 presets for a product im working on...no less than 5000 hours put in total

      so i update to a recent hise develop build as suggested by everyone to mac things compatible with new mac stuff

      i get that completely working and compiling great. so i compile with my presets baked in assume everything will go smooth...nope

      there are multiple levels to why the changes made to HISE user preset system is a MAJOR problem

      first off....as hise saves file paths for user presets made within hise with a {PROJECT_FOLDER} wildcard for file loaction...nope that doesnt actually work in compiled VST or AU plugins. it does not load anything with that.

      so i do further testing and assume its the old replace {PROJECT_FOLDER} with {AUDIO_FILES} which is the only way Windows presets work for whatever reason...in my head im thinking why isnt hise saving the paths so they will actually recall properly? anyways i digress

      so i do batch replace on the nearly 1000 presets ive made all pointing to the AudioFiles folder within hise as im using loop players. that doesnt work either...

      so i make a test patch in hise on the MAC and it creates a preset and i examine it compared to what has worked for years...

      first off hise has changed fileName=" to data=" thats cool no biggie i batch replace that...nope doesnt work

      ok so i now created a user preset within my plugin and viola...i find that it is now using static directories...meaning the actual file path..no wildcard...in fact wildcards for loading audio files DOES NOT WORK AT ALL ON MAC. no {PROJECT_FOLDER} not {AUDIO_FILES} nothing it does not actually work in compiled plugins only in hise itself. well that sucks...but there is more

      compiled VST/AU plugins made with hise basically expand the user presets within your hise project upon first launch. this is a cool thing. it has always went to Library/Application Support/Your Company/Your Product etc this has always been the root Library folder directly from the Macintosh HD/Library but heres the terrible part...all of those things...i finally figured out a loose solution...batch replace with static locations replace fileName with data etc. they load finally yayyyy..not so fast my friend

      compiled hise plugins for whatever reason...just to make my life helll. are now expanding all the baked in files to Username/Library/Application Support/ etc not the root library...the variable user directory...why was this changed? also why is hise placing plugins in the user library plugins folders and not the main root ones like every other plugin ive ever seen?

      it has taken me a long time to get to this point...why were all of these changes made to MAC? on PC the preset structure, the file paths are all the same. Plain and simple i dont even know how to install to a variable username library smh. thats among my many reasons for being frustrated, but i just wish i didnt have to spend the last 20 hours troubleshooting something that was changed, but wasnt broken in any way. almost just making changes to make things difficult.

      i would appreciate if you could make a hise commit that properly reads legacy user presets properly, and most of all expands compiled plugins to the root library and not the user one like it did before. if there is a solution for all of this let me know because im at my wits end and have been very close to just burning my rig lol

      d.healeyD Matt_SFM LindonL 3 Replies Last reply Reply Quote 0
      • d.healeyD
        d.healey @mwplugs
        last edited by d.healey

        @mwplugs

        first off....as hise saves file paths for user presets made within hise with a {PROJECT_FOLDER} wildcard for file loaction...nope that doesnt actually work in compiled VST or AU plugins. it does not load anything with that.

        Did you build my test project?

        Most of the problems you're describing seem to be unique to you and your project. I haven't experienced these issues and no-one else is reporting them. You need to provide individual minimal test projects of these problems so that we can verify they exist and then find solutions for them.

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

        1 Reply Last reply Reply Quote 0
        • Matt_SFM
          Matt_SF @mwplugs
          last edited by Matt_SF

          @mwplugs I can confirm : No problem here with presets/audio files loading either. I'm on Catalina with one of the latest commit.

          Develop branch
          Win10 & VS17 / Ventura & Xcode 14. 3

          1 Reply Last reply Reply Quote 0
          • Adam_GA
            Adam_G
            last edited by Adam_G

            @mwplugs actually Apple is the one that changed where plugins go because it now reads them from Users/Your Name/Library instead of Users/Library which seems like a global change. only my UAD plugins are still installed to Users/Library. i think this was changed for catalina or another version close to it. maybe high sierra

            however i too face the same issue loading audio files because i cannot figure out a wildcard to use for the directory. no two people have the same Users/Your Name names. @d-healey @Matt_SF Is there a wildcard you use for this? If so, would you mind sharing?

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

              @Adam_G There is an engine function that gives system info including the user name. I can't remember the name of the function thou

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

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

                @d-healey ahh knew it had to be user error on my part. ill look around more, thanks

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

                  @Adam_G the ~/ path points to the current user

                  Adam_GA 1 Reply Last reply Reply Quote 1
                  • LindonL
                    Lindon @mwplugs
                    last edited by Lindon

                    @mwplugs -- not really sure what all your problems are but it seems partly that you'd like a consistent place to put your wav files for use in your loop players and {AUDIO FILES} isnt getting it done for you.

                    Here's what we did....

                    We decide to use our custom installer to put the wav files (as many as we wanted) in the same (user selected) folder as the samples(ch1 files).

                    Okay so how do you load these (and how do presets load these)?

                    First we have a text label above each loop player showing the name (without the path and without the .wav extension) - this label is saved in the preset....

                    On init the plugin gets the contents of linkWindows(or LinkOSX) - so it knows the folder/directory to use...we store this in a var called linkFilePointer

                    Theres a callback on the loopnames widgets that takes the text value and appends it to this path and uses this to load the wav file so:

                    inline function onLoopFileName1Control(component, value)
                    {
                          theLoopPlayers[0].setFile(linkFilePointer + "\\"+ component.get("text") + ".wav");
                    }
                    

                    presets call this, and in normal usage you let the user select the wav file they want and you set the text of the label and call changed on the label...

                    Seems to work OK so far...

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @Lindon there‘s also a new wildcard {SAMPLE_FOLDER} that allows you to access the sample folder inside audio file slots.

                      LindonL 1 Reply Last reply Reply Quote 1
                      • Adam_GA
                        Adam_G @Christoph Hart
                        last edited by Adam_G

                        @Christoph-Hart thank you, I have this in the preset file -

                        <Control type="ScriptAudioWaveform" id="ScriptAudioWaveform1" value="0.0"
                        data="~/Library/Application Support/My Company/MyPlugin/AudioFiles/Instruments/instrument (number).wav"

                        but it doesn't work. it does work, however, with the full directory. isnt this where I should be putting ~/Library?

                        @Lindon that's genius, but it sounds awfully complicated when there is a simple line of text the preset files should be calling. Ive done it in other things I've developed before but can't recall what the line of text was.

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

                          @Christoph-Hart said in MAC preset and locations changes NIGHTMARE!:

                          @Lindon there‘s also a new wildcard {SAMPLE_FOLDER} that allows you to access the sample folder inside audio file slots.

                          what! all that effort gone to waste, and now I can just use:

                          theLoopPlayers[0].setFile({SAMPLE_FOLDER} + component.get("text") + ".wav");
                          

                          ?? !!

                          Great thanks.

                          I was thinking it might be useful to have a wild-card the we can programatically set

                          i.e. Engine.setLocalFolder("some file path here...");

                          and then use it like this:

                          theLoopPlayers[0].setFile({LOCAL_FOLDER} + component.get("text") + ".wav");
                          

                          .. tho it is just syntactical sugar round the process I outline above.

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • Adam_GA
                            Adam_G
                            last edited by Adam_G

                            i notice the user audio module opens the correct folder when you right click on it. whats the line of code that tells it what directory to open for that specific module? it might hold the key to my original question

                            edit: on Windows {AUDIO_FILES} works just fine. so i guess a better question is why it no work for mac? lol

                            another edit: well holy cheeseballs. im an idiot. problem solved. i was using the string that was generated by saving the preset in the compiled plugin manually and it contained the line data="filename". changing that to fileName="{AUDIO_FILES}didthetrick.wav"/> . thanks for the help @Christoph-Hart @d-healey @Lindon

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

                            20

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            102.6k

                            Posts