HISE Logo Forum
    • Categories
    • Register
    • Login

    Export Setup Wizard can't find xcpretty

    Scheduled Pinned Locked Moved Solved General Questions
    12 Posts 4 Posters 358 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.
    • dannytaurusD
      dannytaurus
      last edited by dannytaurus

      I just built HISE on Mac from latest develop commit and when running the Export Setup Wizard, xcpretty is not found.

      CleanShot 2024-09-24 at 21.41.22@2x.png

      I already installed xcpretty and confirmed it with:

      $  gem list xcpretty
      *** LOCAL GEMS ***
      xcpretty (0.3.0)
      $ gem which xcpretty
      /Users/dan/.gem/ruby/3.1.3/gems/xcpretty-0.3.0/lib/xcpretty.rb
      

      Where does HISE look for xcpretty?

      What do I need to do to make sure HISE can find xcpretty?

      Meat Beats: https://meatbeats.com
      Klippr Video: https://klippr.video

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

        @dannytaurus hmm, actually I'm doing something similar. HISE starts a process, calls

        gem list
        

        and scans the output for xcpretty. My list looks like this:

        *** LOCAL GEMS ***
        
        bigdecimal (default: 1.4.1)
        bundler (default: 1.17.2)
        CFPropertyList (2.3.6)
        cmath (default: 1.0.0)
        csv (default: 3.0.9)
        date (default: 2.0.3)
        dbm (default: 1.0.0)
        did_you_mean (1.3.0)
        e2mmap (default: 0.1.0)
        etc (default: 1.0.1)
        fcntl (default: 1.0.0)
        fiddle (default: 1.0.0)
        fileutils (default: 1.1.0)
        forwardable (default: 1.2.0)
        io-console (default: 0.4.7)
        ipaddr (default: 1.2.2)
        irb (default: 1.0.0)
        json (default: 2.1.0)
        libxml-ruby (3.2.1)
        logger (default: 1.3.0)
        matrix (default: 0.1.0)
        mini_portile2 (2.8.0)
        minitest (5.11.3)
        mutex_m (default: 0.1.0)
        net-telnet (0.2.0)
        nokogiri (1.13.8)
        openssl (default: 2.1.2)
        ostruct (default: 0.1.0)
        power_assert (1.1.3)
        prime (default: 0.1.0)
        psych (default: 3.1.0)
        rake (12.3.3)
        rdoc (default: 6.1.2.1)
        rexml (default: 3.1.9.1)
        rouge (2.0.7)
        rss (default: 0.2.7)
        scanf (default: 1.0.0)
        sdbm (default: 1.0.0)
        shell (default: 0.7)
        sqlite3 (1.3.13)
        stringio (default: 0.0.2)
        strscan (default: 1.0.0)
        sync (default: 0.5.0)
        test-unit (3.2.9)
        thwait (default: 0.1.0)
        tracer (default: 0.1.0)
        webrick (default: 1.4.4)
        xcpretty (0.3.0)
        xmlrpc (0.3.0)
        zlib (default: 1.0.0)
        

        What does it show if you run that command in a terminal? Actually your command is better, so I'll steal it :)

        dannytaurusD 1 Reply Last reply Reply Quote 1
        • dannytaurusD
          dannytaurus @Christoph Hart
          last edited by

          @Christoph-Hart My gem list command shows hundreds of gems (I'm a Ruby on Rails dev) and xcpretty is definitely on the list.

          $ gem list
          
          *** LOCAL GEMS ***
          
          abbrev (default: 0.1.0)
          actioncable (7.0.4)
          ...
          whenever (1.0.0)
          xcpretty (0.3.0)
          xpath (3.2.0)
          ...
          zlib (default: 2.1.1)
          

          Meat Beats: https://meatbeats.com
          Klippr Video: https://klippr.video

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

            @dannytaurus haha you broke the matrix! I've committed a change that uses gem list xcpretty so that it won't clog the output with all gems. It still works for me, but please test it again on your machine as I don't feel like installing 100s of gems to test this out :)

            dannytaurusD 2 Replies Last reply Reply Quote 0
            • dannytaurusD
              dannytaurus @Christoph Hart
              last edited by dannytaurus

              @Christoph-Hart Thanks for the update but that didn't fix it I'm afraid.

              It might be to do with where HISE is looking for the gem.

              I use a Ruby version manager to install and switch between multiple different Ruby versions.

              The gem env command shows the various paths where gems are installed on my system.

              I realize HISE probably just runs a simple gem list xcpretty command but if that's looking in the wrong directory it won't find it - even though for me it shows as installed.

              I hope that makes sense?

              $ gem env
              RubyGems Environment:
                - RUBYGEMS VERSION: 3.4.6
                - RUBY VERSION: 3.1.3 (2022-11-24 patchlevel 185) [arm64-darwin22]
                - INSTALLATION DIRECTORY: /Users/dan/.gem/ruby/3.1.3
                - USER INSTALLATION DIRECTORY: /Users/dan/.gem/ruby/3.1.0
                - RUBY EXECUTABLE: /Users/dan/.rubies/ruby-3.1.3/bin/ruby
                - GIT EXECUTABLE: /opt/homebrew/bin/git
                - EXECUTABLE DIRECTORY: /Users/dan/.gem/ruby/3.1.3/bin
                - SPEC CACHE DIRECTORY: /Users/dan/.gem/specs
                - SYSTEM CONFIGURATION DIRECTORY: /Users/dan/.rubies/ruby-3.1.3/etc
                - RUBYGEMS PLATFORMS:
                   - ruby
                   - arm64-darwin-22
                - GEM PATHS:
                   - /Users/dan/.gem/ruby/3.1.3
                   - /Users/dan/.rubies/ruby-3.1.3/lib/ruby/gems/3.1.0
                - GEM CONFIGURATION:
                   - :update_sources => true
                   - :verbose => true
                   - :backtrace => true
                   - :bulk_threshold => 1000
                   - "gem" => "--no-document"
                - REMOTE SOURCES:
                   - https://rubygems.org/
                - SHELL PATH:
                   - /Users/dan/.gem/ruby/3.1.3/bin
                   - /Users/dan/.rubies/ruby-3.1.3/lib/ruby/gems/3.1.0/bin
                   - /Users/dan/.rubies/ruby-3.1.3/bin
                   - /Users/dan/rubyonmac
                   - /opt/homebrew/bin
                   - /opt/homebrew/sbin
                   - /usr/local/bin
                   - /System/Cryptexes/App/usr/bin
                   - /usr/bin
                   - /bin
                   - /usr/sbin
                   - /sbin
                   - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
                   - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
                   - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
                   - /Library/Apple/usr/bin
                   - /Users/dan/.local/bin
                   - /Users/dan/.local/bin
              

              Meat Beats: https://meatbeats.com
              Klippr Video: https://klippr.video

              1 Reply Last reply Reply Quote 0
              • dannytaurusD
                dannytaurus @Christoph Hart
                last edited by

                @Christoph-Hart I checked $GEM_HOME and $GEM_PATH and they point to the Ruby 3.1.3 directory, where xcpretty is installed.

                $ echo $GEM_HOME
                /Users/dan/.gem/ruby/3.1.3
                $ echo $GEM_PATH
                /Users/dan/.gem/ruby/3.1.3:/Users/dan/.rubies/ruby-3.1.3/lib/ruby/gems/3.1.0
                $ gem which xcpretty
                /Users/dan/.gem/ruby/3.1.3/gems/xcpretty-0.3.0/lib/xcpretty.rb
                

                I also installed xcpretty for every Ruby version I have on my machine, in case HISE is using a different Ruby.

                It still didn't fix the issue.

                $ chruby
                   ruby-2.6.10
                   ruby-2.7.0
                   ruby-2.7.2
                   ruby-2.7.7
                   ruby-3.1.2
                 * ruby-3.1.3
                   ruby-3.2.0
                   ruby-3.3.2
                   ruby-3.3.3
                

                Meat Beats: https://meatbeats.com
                Klippr Video: https://klippr.video

                1 Reply Last reply Reply Quote 0
                • dannytaurusD
                  dannytaurus
                  last edited by

                  I should also point out that even though the Export Setup Wizard can't detect xcpretty, exporting a plugin from the Export > Export as Instrument menu item works fine 👍

                  Meat Beats: https://meatbeats.com
                  Klippr Video: https://klippr.video

                  1 Reply Last reply Reply Quote 0
                  • dannytaurusD dannytaurus referenced this topic on
                  • dannytaurusD
                    dannytaurus
                    last edited by dannytaurus

                    @Christoph-Hart Just came back to look at this and finally solved it! 🎉

                    HISE uses the system Ruby version to look for xcpretty.

                    If you're using a Ruby version manager like rvm, Rbenv, ASDF or chruby you'll need to switch to the system Ruby to install xcpretty.

                    I use chruby so I did:

                    $ chruby system // or however your version manager switches to system Ruby
                    
                    // Confirm I'm using the system Ruby
                    $ ruby -v
                    ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23]
                    $ which ruby
                    /usr/bin/ruby
                    
                    // Install xcpretty for the system Ruby
                    $ sudo gem install xcpretty
                    Password: ********
                    Fetching rouge-2.0.7.gem
                    Fetching xcpretty-0.3.0.gem
                    Successfully installed rouge-2.0.7
                    Successfully installed xcpretty-0.3.0
                    2 gems installed
                    
                    // Run the same command that HISE runs to make sure it's there
                    $ gem list xcpretty
                    *** LOCAL GEMS ***
                    xcpretty (0.3.0)

                    Meat Beats: https://meatbeats.com
                    Klippr Video: https://klippr.video

                    d.healeyD 1 Reply Last reply Reply Quote 2
                    • dannytaurusD dannytaurus marked this topic as a question on
                    • dannytaurusD dannytaurus has marked this topic as solved on
                    • d.healeyD
                      d.healey @dannytaurus
                      last edited by d.healey

                      @dannytaurus Might be worth adding this to the docs somewhere, maybe we should add a troubleshooting section for common issues.

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

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

                        @d-healey Yeah, good idea. I haven't contributed to the docs yet. Is it just a PR to the docs repo?

                        Meat Beats: https://meatbeats.com
                        Klippr Video: https://klippr.video

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

                          @dannytaurus https://docs.hise.audio/working-with-hise/project-management/documentation/contributing.html

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

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

                            @dannytaurus Excellent, I was wondering why it wasn't found on my system too

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

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

                            20

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            102.6k

                            Posts