HISE Logo Forum
    • Categories
    • Register
    • Login

    Moonbase

    Scheduled Pinned Locked Moved General Questions
    moonbase
    13 Posts 7 Posters 337 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.
    • d.healeyD
      d.healey
      last edited by

      @tobbentm Wanted to spin this off from the other thread.

      What does the Moonbase JUCE module provide?

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      1 Reply Last reply Reply Quote 0
      • tobbentmT
        tobbentm
        last edited by tobbentm

        Good idea, thanks!

        Our JUCE module contains most of the stuff you need to handle licensing & delivery:

        • License activations (more on this later)
        • Time-limited trials
        • Offline activations
        • Subscription-ready (including our Rent-to-Own features)
        • Update notifications on new releases
        • Analytics back to Moonbase (optional, stuff like host/daw/etc meta)

        Our licensing flow is a bit different than most, we want the smoothest process we can, and so what it does is just open a browser on your website, where our web SDKs take over the process and activate plugins on the website. Since customers are usually already logged in to your website, since they made a purchase, downloaded your plugin, or whatever else, we can immediately activate the plugin.
        We have a video of this flow, including the default UI of the JUCE module in our BSA customer story: https://moonbase.sh/stories/blacksaltaudio/

        Having customer authentication on your website is a really good way to also provide a fully personalized storefront experience, where we can showcase segmented pricing, enabling loyalty discounts and a bunch of other cool things.

        The biggest hurdle to adopting our JUCE module in HISE projects is the fact that it depends on JUCE version 7. I'm not the original author, but I know there's probably two things that would need to change for a downgrade to JUCE version 5 (which I think HISE is still using?):

        1. The device fingerprinting needs to change. We had issues with the older JUCE (< v7) fingerprinting in cases where we crossed ~100k devices, where we saw collisions and unstable fingerprints.
        2. I believe we're also using some utilities from the newer URL/HTTP classes, but I'm not 100% certain of this.

        Generally, it's not a super complex module, but it is very battle-tested, powering hundreds of thousands of plugin installs.

        Founded Moonbase.sh for licensing and payments with a JUCE module ready to go

        bendursoB d.healeyD 2 Replies Last reply Reply Quote 3
        • bendursoB
          bendurso @tobbentm
          last edited by

          @tobbentm Hise uses Juce 6 :)

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

            @tobbentm Is it compatible with GPL plugins?

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            tobbentmT 1 Reply Last reply Reply Quote 0
            • tobbentmT
              tobbentm @d.healey
              last edited by

              @d-healey said in Moonbase:

              @tobbentm Is it compatible with GPL plugins?

              Since our JUCE module is closed-source, no.
              You'd have to dual-license it, with a separate version that has DRM in it.
              Alternatively, you could integrate on your own, or use other libraries to integrate with.
              Syl is currently working on a pure C++ (no JUCE dep) open-source thing here, but it's very early days: https://github.com/SLM-Audio/moonbasepp
              We're getting more and more requests for a simple C++ library, so we may try to build an alternate open-source solution ourselves next year.

              Founded Moonbase.sh for licensing and payments with a JUCE module ready to go

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

                @tobbentm sorry, late to the topic. HISE is still using (a customized) JUCE version 6.1.4 and as long as there is no real reason like OS or DAW deprecation to upgrade I'm intending to keep it that way. What is keeping the Moonbase JUCE module from being compilable with JUCE 6?

                tobbentmT 1 Reply Last reply Reply Quote 0
                • tobbentmT
                  tobbentm @Christoph Hart
                  last edited by

                  @Christoph-Hart the biggest challenge in getting it JUCE v6 compatible is definitely machine IDs. When we were still using the native JUCE v6 utilities to fingerprint devices, we ran into quite some issues as our customer base grew, with collisions between very similar devices and some times changing fingerprints.
                  This is particularly a problem since you cannot easily change the way you do fingerprinting in one version of a plugin to the next, since you practically invalidate all license tokens and trials.
                  What could possibly be done here however, is to backport the more modern fingerprinting into your customized JUCE version, do you think that would be an option?

                  Outside of fingerprinting, we are relying on some newer threading constructs, but I don't expect them to be a significant problem. If you'd like to have a look at the source of the module, feel free to create an account on our website, so you can have a look at our TOS, and sign it, after which I can grant you access to the module. We can also sponsor some work here if you're up for it!

                  Founded Moonbase.sh for licensing and payments with a JUCE module ready to go

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

                    @tobbentm I've already backported the changes of the machine IDs to be more reliable, which you can enable with JUCE_USE_BETTER_MACHINE_IDS when exporting a plugin. Not sure if it is the JUCE 7 code, but I also ran into the problem of machine IDs changing between minor Windows updates.

                    DanHD Dan KorneffD tobbentmT 4 Replies Last reply Reply Quote 0
                    • DanHD
                      DanH @Christoph Hart
                      last edited by

                      @Christoph-Hart said in Moonbase:

                      machine IDs changing between minor Windows updates

                      this was very annoying 😆

                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                      https://dhplugins.com/ | https://dcbreaks.com/
                      London, UK

                      1 Reply Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff @Christoph Hart
                        last edited by

                        @Christoph-Hart I think there's been an update since then. I've had to integrate from JUCE 7 to fix.

                        Dan Korneff - Producer / Mixer / Audio Nerd

                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @Christoph Hart
                          last edited by

                          @Christoph-Hart said in Moonbase:

                          JUCE_USE_BETTER_MACHINE_IDS

                          https://github.com/juce-framework/JUCE/commit/120f9266dc881c81371109c69b37a0a246accdeb

                          Here's the fix

                          Dan Korneff - Producer / Mixer / Audio Nerd

                          1 Reply Last reply Reply Quote 1
                          • tobbentmT
                            tobbentm @Christoph Hart
                            last edited by

                            @Christoph-Hart cool! I've scheduled some time with our JUCE freelancer to make it JUCE6 compatible, using the APIs available there for machine IDs. We'll also implement an option to pass your own function for fingerprinting, so it's easy to plug in whatever else you may create, if you don't patch JUCE itself. Is there anything else we can do in the same go to make it more HISE-friendly? Let me know!

                            Founded Moonbase.sh for licensing and payments with a JUCE module ready to go

                            1 Reply Last reply Reply Quote 3
                            • Seth MunsonS
                              Seth Munson
                              last edited by

                              oooh I'd love to implement moonbase into my HISE projects. I have friends who talk highly of the service!

                              audio nerd - billboard #1 mastering engineer

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

                              27

                              Online

                              2.0k

                              Users

                              12.7k

                              Topics

                              110.0k

                              Posts