HISE Logo Forum
    • Categories
    • Register
    • Login

    Simple copy protection done right :)

    Scheduled Pinned Locked Moved Presets / Scripts / Ideas
    151 Posts 25 Posters 41.3k 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.
    • lalalandsynthL
      lalalandsynth
      last edited by

      oops , sorry , the error is Interface:! Line 365, column 37: Unknown function 'contains

      which is this line

      if(serials.Data.contains(v))
      

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        @lalalandsynth so debug... replace

        if(serials.Data.contains(v))

        with

        Console.print(serials.Data);

        HISE Development for hire.
        www.channelrobot.com

        1 Reply Last reply Reply Quote 0
        • B
          BWSounds
          last edited by

          I followed the directions exactly (I think) but i keep getting this message when I compile..

          Serials.js (2): Found ':' when expecting ';' {SW50ZXJmYWNlfFNlcmlhbHMuanN8MTF8Mnw5}

          anyone know why?

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

            @BWSounds Yep I know! because ':' has been found when ';' was expected on line 2 in Serial.js… This one was hard 😛

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

            B 1 Reply Last reply Reply Quote 1
            • B
              BWSounds @ustk
              last edited by

              @ustk ohh duh, the js file... man I feel slow ☹ 🤔 😂

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

                @BWSounds In fact there seems to be something weird, because ':' is at the right place, wich means a ';' might be missing somewhere else before serials is called…

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

                1 Reply Last reply Reply Quote 0
                • B
                  BWSounds
                  last edited by BWSounds

                  Ok, new problem (which prob. is a simple fix) but iv'e been compiling ALL DAY and my codes work in hise but once i compile none are working in the vsti.

                  I seen someone have the same issue but the response was deleted, so im guessing the fix is easy... I just cant figure it out. Any help would be greatly appreciated.

                  1 Reply Last reply Reply Quote 0
                  • B
                    BWSounds
                    last edited by BWSounds

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • B
                      BWSounds
                      last edited by

                      i updated to the latest commit, still having the same issue, so it’s not that.

                      1 Reply Last reply Reply Quote 0
                      • B
                        BWSounds
                        last edited by BWSounds

                        1 add the auth. Script to your oninit
                        2 add generator script to create serial.js
                        3 remove generator script
                        4 copy new script from root folder, add to script sub folder
                        5 add the const var text at the beginning, “;” at the end
                        6 oh and add the components from the auth. Script
                        7 and add “include serial.js” to your oninit

                        Should work right?? What am I missing because it’s not working for me on my compiled vsti

                        1 Reply Last reply Reply Quote 0
                        • B
                          BWSounds
                          last edited by

                          Does anyone have the copy protection working on a compiled vsti?

                          ulrikU 1 Reply Last reply Reply Quote 0
                          • ulrikU
                            ulrik @BWSounds
                            last edited by

                            @BWSounds Yes, it's working on my compiled au, vst3 and vst plugins for mac
                            (I have only tried then on the Mac platform)
                            I use the "Global mute" version, you can use them for 20 min then it gets silent.

                            Hise Develop branch
                            MacOs 15.3.1, Xcode 16.2
                            http://musikboden.se

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              BWSounds @ulrik
                              last edited by

                              @ulrik thanks for responding. I’ll try on Mac to see if works then. It’s not working for pc or at least Not for me.

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

                                @BWSounds said in Simple copy protection done right :):

                                @ulrik thanks for responding. I’ll try on Mac to see if works then. It’s not working for pc or at least Not for me.

                                its working fine on windows here..

                                HISE Development for hire.
                                www.channelrobot.com

                                1 Reply Last reply Reply Quote 0
                                • B
                                  BWSounds
                                  last edited by

                                  Sorry to bring this post back up but... I finally got the simple copy protection to work. (Was pretty simple)

                                  But I updated to the latest commit (needed to) and it’s not working for me. I did the same thing I did to get it to work on the earlier commit (February) but it’s a no go.

                                  Any one updated to any commit in august and this still works for them?

                                  ulrikU 1 Reply Last reply Reply Quote 0
                                  • ulrikU
                                    ulrik @BWSounds
                                    last edited by

                                    @BWSounds I'm using the script node from 19/8 and it's working here on mac

                                    Hise Develop branch
                                    MacOs 15.3.1, Xcode 16.2
                                    http://musikboden.se

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      BWSounds @ulrik
                                      last edited by

                                      @ulrik wow... ok 😔

                                      1 Reply Last reply Reply Quote 0
                                      • gorangroovesG
                                        gorangrooves
                                        last edited by

                                        Hey guys,
                                        do you have any tips or tricks on how to automatically populate the Serials.js file with a large number of serials? Since they have to be in a particular format between " " and with , at the end of each line, this will be quite a tedious work to do manually by copy+paste.
                                        What's your solution?

                                        Goran Rista
                                        https://gorangrooves.com

                                        Handy Drums and Handy Grooves
                                        https://library.gorangrooves.com

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

                                          @gorangrooves The "Serial Generator" does this for you. Just uncomment the last line to run this function.

                                          /** This namespace contains the logic to create a new list of serials. 
                                              
                                              Feel free to remove this when not needed. */
                                          namespace SerialGenerator
                                          {
                                              inline function getNewRandomChar()
                                              {
                                                  // ASCII, fuck yeah!
                                                  local a = String.fromCharCode(Math.randInt(65, 90));
                                                  local b = String.fromCharCode(Math.randInt(48, 57));
                                              
                                                  return Math.random() > 0.5 ? a : b;
                                              }
                                          
                                              inline function createNewSerial()
                                              {
                                                  local s = "";
                                              
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += "-";
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += "-";
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += "-";
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                                  s += getNewRandomChar();
                                              
                                                  return s;
                                              }
                                          
                                              const var NUM_SERIALS = 1000;
                                          
                                              inline function createNewSerials()
                                              {
                                                  local d = [];
                                                  d.reserve(NUM_SERIALS);
                                              
                                                  for(i = 0; i < NUM_SERIALS; i++)
                                                  {
                                                      d.push(createNewSerial());
                                                  }
                                              
                                                  local obj = { "Data": d };
                                              
                                                  Engine.dumpAsJSON(obj, "../Serials.js");
                                              }
                                          
                                              // Uncomment this line to regenerate serials.
                                              //createNewSerials();
                                          }

                                          Dan Korneff - Producer / Mixer / Audio Nerd

                                          gorangroovesG NatanN 3 Replies Last reply Reply Quote 0
                                          • gorangroovesG
                                            gorangrooves @Dan Korneff
                                            last edited by

                                            @dustbro Thanks very much. I will give this a try.

                                            @orange Have you managed to implement the bundle serials solution and if so, would you mind sharing the working code here, please?

                                            Goran Rista
                                            https://gorangrooves.com

                                            Handy Drums and Handy Grooves
                                            https://library.gorangrooves.com

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

                                            13

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            103.9k

                                            Posts