HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. andersnaessss
    3. Posts
    • Profile
    • Following 1
    • Followers 0
    • Topics 3
    • Posts 12
    • Groups 0

    Posts

    Recent Best Controversial
    • Panels and masking, or "how do I get MouseCallbacks to only be responsive to certain areas of a panel?" SVGpaths?

      Hello.

      I have a beginner's general question about how to get MouseCallbacks to only be reactive to a portion of a panel, such as parallelograms or even non-rectangular areas. Is there a way to mask a panel? Or make a panel that is not made up by 90° rectangles?

      I want to implement some hover effects on the skewed squares seen in the picture below, such that they change color on event.hover.

      Is there a way to make (non-rectangular) SVGs set the boundaries of the MouseCallbacks?

      Screenshot 2025-01-15 at 15.25.55.png

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: I need help with Export Setup Wizard HISE path

      @moneydude How did you fix it?

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      @d-healey Yes, you are probably right. Start small, experiment and scale up.

      I just figured that other people had done something similar and that there was some sort of best practice of doing this thing. But yes, I'll start experimenting with something simpler and take it from there. Thanks again for the suggestions and pointers!

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      @d-healey

      Sure!

      If you press middle C, then 1 of 27 samples will play, depending on the position of three knobs (or a crossfade of several samples, but let's just assume first that there is no crossfade). Using the same guitar pedal example as in my last comment:

      If you press middle C while all three knobs are set to 0%, then HISE will play the the specific sample called "#60_Sun0_Blu0_Fli0.wav", that is the recording of a middle C triangle wave into Sunset at 0% wet, BlueSky at 0% wet and Flint at 0% wet.

      If you press middle C while the third knob is set to 100%, while the other two are still set to 0%, then HISE will play the specific sample called "#60_Sun0_Blu0_Fli2.wav"

      If you press middle C while all knobs are set to 50%, then HISE will play the specific sample called "#60_Sun1_Blu1_Fli1.wav". (This sample is not the same as if I'd made three samples "#60_Sun1.wav" + "#60_Blu1.wav" + "#60_Fli1.wav" and blended them together, as the single sample has recorded their interaction.)

      For a crossfade state: If you play middle C while knob1 is set to 20%, knob2 is set to 60% and knob3 is set to 90%, then HISE will play a crossfade between ... I'm not sure here.. but a calculation of several samples.

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      @d-healey

      Oh, I see about the crossfading, like a big mixing console. (Would that be very taxing on the CPU/RAM then?) Yes, I was thinking incoming midi.

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      @d-healey

      Thanks for the patience to sort this out with me. I'm probably not explaining myself so clearly. Maybe I can give a better explanation by using three-way toggle switches as examples (I'm sorry in advance for the overly detailed explanation, I just want to make sure that I'm not forgetting anything)

      There are three toggle switches each with three states. Call the states 0, 1, 2. There are 27 possible combinations that the set of toggle switches can have (0-0-0, 0-0-1, ... 2-2-2). And I want to sample each of these 27 combinations, for each midi note. Every midi note will have 27 samples. Each of the 27 combinations (on each midi note) correspond to a specific toggle switch combination. Depending on the specific combination of the toggle switch a specific sample will play.

      Say that the samples are recordings of triangle waves into three guitar pedals. The pedals are Sunset, BlueSky, Flint. Each of the pedals are recorded with varying wet signals, at 0% (0), 50% (1), or 100% (2). Together there are 27 combinations of wet signals.

      The samples are named in the following terminology: "Sun[X]_Blu[X]_Fli[X].wav"

      The toggle switch combination 0 - 0 - 0 plays the specific sample called "Sun0_Blu0_Fli0.wav", that is the sound of the triangle wave into Sunset at 0% wet, BlueSky at 0% wet and Flint at 0% wet.

      0 - 1 - 1 plays "Sun0_Blu1_Fli1.wav", a sample of Sunset at 0%, BlueSky at 50% and Flint at 50%

      2 - 2 - 1 = "Sun2_Blu2_Fli1.wav" etc.

      How do I get HISE to calculate which sample is played, based on the specific toggle button combination? And what is the best way to implement (and script) this? Using broadcasters? (and the further question: if instead of toggle switches I'm using knobs, and I want to smoothly crossfade between each sample, how is this best implemented?)

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      @d-healey
      Thank you for your reply David! It might be too late in the day for me to get this properly, but you are saying that I should make 27 separate samplers and crossfade between them(?). It still seems to me like there needs to be some advanced routing going on, apart from just gain modulation, since the knobs need to be aware of the state of the other knobs before playing the correct sample.

      For example: When turning knobB to position2, there are 9 possible samples that can be played, depending on the state of the other knobs. If knobA and knobC is both in position1, then sample "A1_B2_C1" should play (when knobB is turned to position2), but if KnobA is in position1 and knobC in position3, then sample "A1_B2_C3" should play, etc. I don't think I understand how to do this by just using gain modulations, but I might be missing something obvious here.

      posted in General Questions
      andersnaessssA
      andersnaessss
    • 3 knobs with 3 layers, all sampled (3x3x3=27 samples). Best practice for implementation?

      I have three FX knobs (fxA, fxB, fxC) with three velocity/intensity layers (pos1, pos2, pos3), but I want to sample all possible states using a modular synth setup and guitar pedals. I will then have 27 discrete sample groups (one for each combination of velocities/intensities across the three knobs). I also want to be able to crossfade continuously between these 27 combinations, such that “fxApos1_fxBpos1_fxCpos1” can be crossfaded to, say, “fxApos3_fxBpos2_fxCpos3” etc.

      I wonder what the best way to implement this would be? (I guess it would be much easier to just use HISE-FX, but I have some modules that I want to use for the purpose.)

      Are some of you sample based hise-users doing sampling this way? Say, if you have a tape machine, a vintage echoplex and a nice distortion pedal that you want to control with knobs in hise like these were routed using internal FX?

      Appreciate any suggestions or guidance of best practice doing this!

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: Knobs controlling Lottie animations and parameters with different values?

      @clevername27
      I couldn't put up a video here in the comments, so I made an unlisted youtube short here: https://www.youtube.com/shorts/ytpUW05iNTU

      I guess I could have learned to make most of these elements in LAF, as they are mostly simple rotational objects, but I feel more comfortable making lotties. Will tinker more with LAF later. At least the keyboard is LAF haha.

      Still a prototype, still testing out the design. Aiming for a playful, friendly and naive sounding instrument, and wanted those feelings reflected in the interface. Appreciate any suggestions for further development, or any inspiring ideas that you might have!

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: Let’s Build the “League of Newbies”

      @HISEnberg If the chat group is still open, here's a newbie that wants to be added :D

      posted in General Questions
      andersnaessssA
      andersnaessss
    • RE: Knobs controlling Lottie animations and parameters with different values?

      @d-healey Ah, so I'll skip the parameter ID then, and only focus on scripting for this. Thank you!

      @Lindon Thank you for directing me towards the normalized scripts. As I am such a novice in scripting and programming, I took some help from an LLM. After a winding conversation with some erroneous compiling I arrived at a solution that seems to work! (I also switched to the scriptnode "core.gain" instead of SimpleGain, which seems to give me some better control over the gain curve). I saw David's script-critique video where he was not impressed by the LLM-scripts, so this is probably just as bad, but this is what I have so far:

      const var C5_Knb = Content.getComponent("C5_Knb");
      C5_Knb.setAnimation(lottieKnurlSmall);
      
      const var C5_Num = Content.getComponent("C5_Num");
      C5_Num.setAnimation(lottieNumbers);
      
      const var C5_HID_Knb = Content.getComponent("C5_HID_Knb");
      
      const var GainFX = Synth.getEffect("GainFX");
      const var GAIN_MIN = -100.0;
      const var GAIN_MAX = 0.0;
      
      inline function onC5_HID_KnbControl(component, value)
      {
          C5_Knb.setAnimationFrame(value);
          C5_Num.setAnimationFrame(value);
      
          local normalizedValue = value / 100.0;
      
          local gainValue = GAIN_MIN + (GAIN_MAX - GAIN_MIN) * normalizedValue;
      
          GainFX.setAttribute(GainFX.Gain, gainValue);
      }
      
      C5_HID_Knb.setControlCallback(onC5_HID_KnbControl);
      
      posted in General Questions
      andersnaessssA
      andersnaessss
    • Knobs controlling Lottie animations and parameters with different values?

      Hello.

      I'm new to HISE, and loving it so far. Learning a lot. I built the GUI to my sampler instrument using Lottie animations on panels and hidden control knobs. The GUI is working properly and is functional. Now that I have moved on to the audio side of the instrument, I noticed that controlling the parameters broke the Lotties, I guess since the values were different. The Lotties are all 100 frames and expect 0.0 - 100.0 with step size 1, but many audio parameters seem to want other values and step sizes (ex. 0.00-1.00 or decibels etc.). How can I keep the Lotties functional while also being able to control the audio parameters of different values and step sizes? How do people use Lotties with connected knobs to control parameters?

      (I don't have much programming experience, so I have most likely missed some vital aspects of controlling parameters with accompanying Lotties. My script so far (for one knob-instance): one hidden knob ("C5_HID_Knb") controls two Lotties ("lottieKnurlSmall" and "lottieNumbers") and this is working properly when the hidden knob have the same value (min 0.0 max 100.0) and step size(100))

      // KNOB @ C5 (Volume knob + counter)
      const var C5_Knb = Content.getComponent("C5_Knb");
      C5_Knb.setAnimation(lottieKnurlSmall);
      
      const var C5_Num = Content.getComponent("C5_Num");
      C5_Num.setAnimation(lottieNumbers);
      
      inline function onC5_HID_KnbControl(component, value)
      {
      	C5_Knb.setAnimationFrame(value);
      	C5_Num.setAnimationFrame(value);
      };
      
      Content.getComponent("C5_HID_Knb").setControlCallback(onC5_HID_KnbControl);
      
      posted in General Questions
      andersnaessssA
      andersnaessss