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.
    • 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

                          25

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          102.6k

                          Posts