Navigation

    Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    1. Home
    2. Steve Mohican
    S
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Steve Mohican

    @Steve Mohican

    17
    Reputation
    134
    Posts
    75
    Profile views
    0
    Followers
    1
    Following
    Joined Last Online

    Steve Mohican Follow

    Best posts made by Steve Mohican

    • RE: 2 Linked Knobs with 1 Shared Function without doubling the codes

      @ulrik Thanks, I haven't recognized that.

      @d-healey Thank you so much again!!

      👋

      posted in General Questions
      S
      Steve Mohican
    • RE: How to Emulate Hardware or Software Instruments/FX in HISE

      @iamlamprey said in How to Emulate Hardware or Software Instruments/FX in HISE:

      There's a lot to this topic so finding basic tutorials and such won't help. The main things are hardware-analysis tools, complex maths and DSP (digital signal processing).

      There are several approaches (simplified):

      White Box

      1. Analyze hardware unit to find out how it works.
      2. Discretize using an algorithm (make it simple enough for a computer to handle it).
      3. Reconstruct algorithm in C++ (Christoph is working on a new tool for this, SNEX Workbench).

      Black Box

      1. Analyze hardware unit.
      2. Try and recreate the sound with filters/compression/saturation/delays etc
      3. Test and iterate.

      Circuit Modelling

      1. Analyze circuit.
      2. Recreate circuit in some sort of software.
      3. Export circuit as algorithm -> import into something like Matlab.
      4. Reconstruct as C++

      Basically it takes a lot of analysis, testing and some hardcore maths to get accurate modelling. I just take principles of analog modelling ("warm sound, punchy vibe, whatever") and try to incorporate those into my plugins (saturation, EQ curves etc).

      I'll probably make a "how to make analog plugins in HISE" thread properly some day, but eh

      There's some posts on the forum about analog modelling / hardware plugins

      https://forum.hise.audio/topic/1322/about-rule-tec

      I believe @dustbro modelled some of his hardware, not sure if he used HISE for it or just Matlab and JUCE. Also not sure if he wants to give away his secrets 😉

      Good explanation. Thank you for the information.

      posted in General Questions
      S
      Steve Mohican
    • Vst and Aax plugin categories

      All of the Hise made vst fx plugins are showing on "other" category in Cubase.

      Could you add vst category?

      Also it is very useful to be able to select 2 categories at the same time. In Juce that is possible. Is there a way to add this multiple category feature for both vst and aax plugins?

      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey I will check thank you

      posted in General Questions
      S
      Steve Mohican
    • RE: Converting strings to integer and sum?

      @d-healey Awesome, Perfect as always... and Thank you!!!!!!! 😎

      posted in General Questions
      S
      Steve Mohican
    • RE: Script FX Filter Knob

      @DanH On the connections section make the skew factor 1. This means knob value and target value will be matched if the min/max values are the same.

      posted in General Questions
      S
      Steve Mohican
    • 2 Linked Knobs with 1 Shared Function without doubling the codes

      Left and Right knobs are linked with a button. These 2 knobs have the same shared function, indexes and equations. Only difference is "Left" and "Right". How can we write a shared function without doubling the codes for Left and Right individually?

      
      inline function sharedFunction()
      {
          
          
          local Node_BoosterValue_Left = 2.288*(Knob_Left.getValue()); 
          
          local Node_BoosterValue_Right = 2.288*(Knob_Right.getValue()); 
          
          
      
          local index_EQ_Gain_Left = EQ_Left.Gain + 0 * EQ_Left.BandOffset;
          
          local index_EQ_Gain_Right = EQ_Right.Gain + 0 * EQ_Right.BandOffset;
          
          
          EQ_Left.setAttribute(index_EQ_Gain_Left, Node_BoosterValue_Left);
          EQ_Right.setAttribute(index_EQ_Gain_Right, Node_BoosterValue_Right);
          
      }
      
      

      I am asking this because I have lot's of equations and controls. Doubling them will be a huge mess. Below is the simple snippet. Any help will be appreciated!

      Note: I know it is about the arrays but I just can't figured it out. 🙂

      HiseSnippet 1500.3oc4X8taaaCDmJNpq1sYncHCneTHnevoKKv1oqs.AC00N1EAM+wKNKc6CCoLRzwDQlzShJqAEEXO.6gXOA6YXOB6QXO.6C8MX6nnjEkqjqpaSwVW9fQ3w6N969wi7NpddbahuO2CYT9vKFSPFW2r+ELwv1CwTFZ6sPFKatyA8Gh8HNVcCX1BJm4iZcwXruOwAYXT5wRMMJuHJ7uW8vVXWLyljHBgNhSsI6PGQEIR607ITW2tXGxgzQZZe2laayYs4t7..UkLqgFisOCeJYOrTsELQFWoiCUv85KvBhOxXwVbmK5Oj+SLk9GQ8om3RjCpi5CNRItK20QhXoTT6gTWmdwQuOBYX1KgKJo3hkM2k5PmHOgStQ3DVIVnyGFKLK3UWGd0JN7Lzf2hJ3cSy91dzwhjYjX6ZlayDDuAXXKPGVJcQK7WWwrMGzfIVeD9LRWOXvDKptwF0VypQiZqt4RUVpBrQ3KrNG6Y04aNdGx.g0WaEldr9oDQmACH1hpqDM0JRSRYvAzSGlmEgyshZURuR6PYmcbq.gfy.aigJXca9nwbFLn5JZ5D4CJykxHVChxPs3LMcjNwi6V0N1CqAqja.Y0kp7hkpXA+QGXUMVTYofmv3mn.459DwQxopFJSFpRznDspb0CMvO7HR7IjpJT8xveKPLHWjHT1F65dBjwWMqPHgvzorI.KWBahF4RWSz3MSV5+JINMXpyLyfIUNbyxJ+jG+MK1SKfxl6lNdlAyEmmNiUROcMGtKTkKExKLkaZt6cf1hBlYva5whNwkU3OMBxLRc41XWq83Njiaw49vsMgASbRai0a7fGbmbNfUHGEuGp6IURWttRFLItjxbHO+X3lIY4rXbEc015RYVegUMq6LQTKLyY+AC.NbyWGeocVL1hu1aJ2ojki+T+FunvrORH7nmDHHUecDuVNL7paNwMSNHlmeBUXs7X3Um.tWpmSncVXOtfrOjFT4EUJW4kUrldpACxbtnjMWhWlSKaQvaVFVkEL5DhW7wsXEgZkoKFalewX8dErUmdzTjy1lQE6OlvxqDMJ5HGTrtTDpf+SDVp9SiJU22k5P7PTGYc5Io6nPPq2vDp.N35lIY4uEdPcWSnGVxT61mocwqdH5a2dKr.Ka9HJzfvcLwSPkLowVjygt5TshT1bKh+YB93vXO55FjwmTnn+4IK58adQxfVMGo2Y4s+8QXMUuMLqiiKoG2mJyElJ3K.FRQfId9mIu+AwhEbOPy0+fFJ90m0D858+AcgxcBbwhzslJOFGMgDQ58.J6yiAH8B8s4Kk9UKJbuoYOpvdX13cgLvKjMdYi2nt+WxT0uZBXWzr62Mus5m8KQpkUq9KngkJwmuZG3cNoyOFhixlQEDRAl8BF0k5B2WKulyvPl6B0TpoScRA0iD7re6W99lRAMR+3MlyFSK3tIBtQytcOrCCCQkhAJklAJULFHiMfC3ABJ6zcwPcI3XfIDN8gm.ZS.9mwHtgQ0BxiUpw0jikPpOILJMM9a3unIqGOVN4jAn2DwVwLtD46ByZcuacz+iY1kUL60LeJ9bR3a+B41OOb7.t2HqGSXDO48.0mwGR3OJ5GRXbg+PB6aK.HbnGl4Ol6Spq64olqg9baQDArzpqDkRKY30EBOM8tZyXgMzE1CyR4LXbJOsKUqNve9PURQeBDMN66aCAqj6zSk5E35SdJ0QLrttgIhanKd5Lq25as9O32O4CW4yRECtugOwS4XL1mNZrKoC6bhKz6UHF+LnYqA3.WQrzzGi1ky3iGxYTa8bpCHvo+SOkjJuIy.BdY.7TvDIK27.hKA6Sza6AZZgf8.dhLmbQ8hyEyZ+5VlJ3ZIO6a8wQaOk9HpsmKiSnv0i+KXm98eUUinISpp9gXMFgs83Gaqdsn7n2UCk.wMK7CtW1bW4Xq5wOPzzr150Pv6dnGaaKyN9Rfex1lFygMaLG1b24vluZNr4dygM2eNr4AyzFYsyGEH3iT4+ffdcBentggV+in+AfHDlu3
      
      posted in General Questions
      S
      Steve Mohican
    • RE: if/else statements inside the scriptnode

      @iamlamprey said in if/else statements inside the scriptnode:

      @Christoph-Hart I don't have a core.pma node 😕 using latest scriptnode

      ab3c5d9f-8528-472e-94b6-6b8fa8eceacb-image.png

      I think it will be available in "SNEX workbench" later.

      posted in General Questions
      S
      Steve Mohican
    • RE: Beta Testers Needed <<<<<<<<<<<<<<<<

      @orange Wow Sounds Great! You have done very well bro! I am totally mesmerized 🙂

      posted in General Questions
      S
      Steve Mohican
    • RE: Which kind of sample based instruments

      @iamlamprey said in Which kind of sample based instruments:

      I write metal/rock/electronic hybrid stuff and make instruments to suit my own needs, such as guitars/bass/synths.

      Basically if someone else's instruments don't fit my purpose I just try and make my own 🙂

      Your Atlas and Cloudburst Kontakt instruments sounds very cool by the way 👍

      posted in General Questions
      S
      Steve Mohican

    Latest posts made by Steve Mohican

    • RE: 6 State Paint Routine Button

      @d-healey Thank you I will look at it

      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey I am very very confused and I am on this for a couple of hours, I really don't understand. Can you please show me your fix?

      That would be much more helpful to learn.

      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey

      When I add else if(event.hover) when mouse is over the button, color doesn't change

      namespace SixStateButton
      {
          inline function createWidget(name, x, y)
          {
              local widget = Content.addPanel(name, x, y);
          
              Content.setPropertiesFromJSON(name, {
              "width": 200,
              "saveInPreset": 1,
              "allowCallbacks": "Clicks & Hover",
              "opaque": 1,
              "stepSize": "1"
              });
          
              widget.data.hover = 0;
              widget.data.on = 0; 
              widget.data.down = 0;
              
          
              widget.setPaintRoutine(function(g)
              {
                  g.fillAll(0xFF24A8E0);
              });
          
              widget.setMouseCallback(function(event)
              {
                  if(event.clicked) 
                  {
                      Engine.openWebsite("https://forum.hise.audio/");
                      this.data.down = true;
                      this.repaint();
                  }
                  
                  else if(event.hover) 
                  {
                      g.setColour(Colours.darkgrey);
                  }
                  
                  
                  else if(event.mouseUp) 
                  {
                      g.setColour(Colours.darkgrey);
                      this.data.down = false;
                      setButtonValue(this, 1 - this.getValue());  
                      this.changed();
                  }
                  else 
                  {
                      this.data.hover = event.hover;
                      this.repaint();
                  }
              });
              
              return widget;
          };
      
          
          inline function update(p, value)
          {
              p.setValue(value);
              p.changed();
              p.repaint();
          }
          
          inline function setButtonValue(p, value)
          {
              p.setValue(value);
              p.repaint();
          }
      };
      
      // Create two buttons
      const var b1 = SixStateButton.createWidget("b1", 0, 0);
      
      
      
      function onNoteOn(){}
      function onNoteOff(){}
      function onController(){}
      function onTimer(){}
      
      function onControl(number, value)
      {
          // Update the buttons in the onControl callback
          SixStateButton.update(number, value);
      }
      
      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey

      Ok I edited the tutorial but hover still doesn't work 😞

      
      namespace SixStateButton
      {
          inline function createWidget(name, x, y)
          {
              local widget = Content.addPanel(name, x, y);
          
              Content.setPropertiesFromJSON(name, {
              "width": 200,
              "saveInPreset": 1,
              "allowCallbacks": "Clicks & Hover",
              "opaque": 1,
              "stepSize": "1"
              });
          
              widget.data.hover = 0;
              widget.data.on = 0; 
              widget.data.down = 0;
              
          
              widget.setPaintRoutine(function(g)
              {
                  g.fillAll(0xFF24A8E0);
              });
          
              widget.setMouseCallback(function(event)
              {
                  if(event.clicked) 
                  {
                      Engine.openWebsite("https://forum.hise.audio/");
                      this.data.down = true;
                      this.repaint();
                  }
                  else if(event.mouseUp) 
                  {
                      this.data.down = false;
                      setButtonValue(this, 1 - this.getValue());  
                      this.changed();
                  }
                  else 
                  {
                      this.data.hover = event.hover;
                      this.repaint();
                  }
              });
              
              return widget;
          };
          
      
          
          
          inline function update(p, value)
          {
              p.setValue(value);
              p.changed();
              p.repaint();
          }
          
          inline function setButtonValue(p, value)
          {
              p.setValue(value);
              p.repaint();
          }
      };
      
      // Create two buttons
      const var b1 = SixStateButton.createWidget("b1", 0, 0);
      
      
      function onNoteOn(){}
      function onNoteOff(){}
      function onController(){}
      function onTimer(){}
      
      function onControl(number, value)
      {
          // Update the buttons in the onControl callback
          SixStateButton.update(number, value);
      }
      
      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey I will check thank you

      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey This is filstrip image. Actually I need panel button.

      At least, how can we make it 2 state button with text?

      posted in General Questions
      S
      Steve Mohican
    • RE: 6 State Paint Routine Button

      @d-healey I deleted it because it was a whole mess. I tried to used this but did not work unfortunately.

      if(event.clicked) 
        {
      
        }
      else if(event.mouseUp) 
       {
      
        }
       else 
        {
      
        }
      
      posted in General Questions
      S
      Steve Mohican
    • 6 State Paint Routine Button

      Here is a paint routine panel button. I tried to make it a 6 state website opener button (also text in center) but I couldn't figured it out.

      Please any advices?

      HiseSnippet 879.3ocsV00aaaCEkzwpq1adXEX+.DxCCxXcJxsocEnnnNwwt0XKoFyYc8sBFoqrHhDo.EURMBx+48On8RQaK6L2hVCLlWx8iC0gWdtW5IJYHTTHUDZqymmCD5O3LctPmLHgwEjwmPn+nyorBMnbstNddNqn.hHT5dux3f1pIoZ8uu7XVJSDB0tHj2J4gvexy35ZuS5+G7zzQrH3bd1ZYeX+wgRw.YprD4ydNAjbV3krYvYLSZMbHz6MLhqkpoZlFJvbNVFMeZh7ZgM+2xK3WjBFidjo3FYcSFjvSilr7rVPHzlSpO46YO4+ryo7H9J+0UfepJfaMh0qAzFaRolaPodeNJMRlFY1fOC8nqQulV58.mogJdttNhgaeuyXAd4Dyvx95zxlKoQqFNCjXFBseF6RXjBMVgv6oAAOz8IAAcedm1l+vxeg18JlxcBS.o8beg6Rzy.8.YVtTfFd6aCuuEm0vu.zSvRl9ujkZt.7hKEgZtT3Mqam12zosKtl4GiW8Gkl5E7gQidzgG8rgUe7au6Ncprr.FvRSu.k.0aEbE94q2Ndrq0keXJO7RHpq0+MtqVVGl0PwLjV9xbP7OvEEbM3s+AGDKUkY9I7BvmUFwkGTcnVhQiA7UPt4b40842cauciOP0wXIUckhyjZ3MButsuocq12118tghi2ZLSEWISSA0VCa5YTeIfdhxrK.0Cw6wzRXUhnPZSk5895TpgVAvZIJEiEb8av5n0tVK2aKZYxBED9e+83SXZlQduvGlWNnzbCcnm.WgyJrh8VNm.EWpk4U4tP1QnemtJZmksBF4Bgie566XkNjOTON479yWYz+c8Qsj75kJpBSW8.ilov8Wbes7JPQtlGoSHTG59TBIA3yRzFqesZj0+ocDGJHiJSY5MmTXFItH.dorQKoosSfxt4qOx7aX7QvVGer0R9WIcefyDtNLY67swV3Kd08+MeWLLtiyv3XHTWS1lNid2tN48afJ1oWyNkoUbTL4bVY1T78nP.Yh.kXEFMQCir1ZGXrMUlofHpx3i3ZQvdFa5hf8VFjjwBUx2GZaWMi6uekGjShpW5ZgO4h1t8HUsvHNm.+.RF9Jz6CCMkheC491w7nc.yi2ALGtCXdxNf4o6.leeGv7ruHFyO.3nRsLy1lfNlLrZVFkNTvPUVkhj7IfDAj2V
      
      posted in General Questions
      S
      Steve Mohican
    • RE: FileSystem - wheres "CreateFile"?

      @Lindon
      Are you using Woocommerce REST API for customer login?
      Which REST API method do you suggest for this (verifying purchases, license status...etc)?

      posted in General Questions
      S
      Steve Mohican
    • RE: Fetch data from json file to wordpress

      @orange Wow! That's it man 😄
      Thank you so much!!!! 👑 👑 👑

      posted in General Questions
      S
      Steve Mohican