• BlueCat ISSUE & sudo

    3
    0 Votes
    3 Posts
    52 Views
    W

    @d-healey thanks, as always, ok I will ask him tomorrow and tell to do so, I will post when the problem is fixed for future reference

  • Midi Player Clock Sync (problem)

    4
    0 Votes
    4 Posts
    86 Views
    deniskorgD

    I finally managed to reach a solution.

    For me, at least, it works fine for now. I don’t know if there was an easier solution, but for me, being able to sync that grid when I modify the tempo (for the internal clock), this change worked. I’ll leave below the function I modified in the source code.

    MasterClock::GridInfo MasterClock::processAndCheckGrid(int numSamples, const AudioPlayHead::CurrentPositionInfo& externalInfo) { GridInfo gi; auto shouldUseExternalBpm = !linkBpmToSync || !shouldPreferInternal(); if (bpm != externalInfo.bpm && shouldUseExternalBpm) setBpm(externalInfo.bpm); if (currentSyncMode == SyncModes::Inactive) return gi; // .. ADDED .. // // Store last tempo for detection static double lastBpm = -1.0; static double bpmSmooth = bpm; // Smoothed BPM static double lastPpqPosition = 0.0; // Store last PPQ position bool tempoChanged = (bpm != lastBpm); // Detect tempo change if (tempoChanged) lastBpm = bpm; // Interpolate BPM smoothly over time double smoothingFactor = 0.1; // Lower = smoother, Higher = faster response bpmSmooth += (bpm - bpmSmooth) * smoothingFactor; // Convert BPM to quarter notes in samples (using smoothed BPM) const auto quarterInSamples = (double)TempoSyncer::getTempoInSamples(bpmSmooth, sampleRate, 1.0f); // Instead of relying on uptime, calculate PPQ dynamically (like in updateFromExternalPlayHead) double ppqTime = lastPpqPosition + ((double)numSamples / quarterInSamples); lastPpqPosition = ppqTime; // Calculate grid alignment based on PPQ (like in updateFromExternalPlayHead) double multiplier = (double)TempoSyncer::getTempoFactor(clockGrid); double nextGridPPQ = std::ceil(ppqTime / multiplier) * multiplier; double nextGridSamples = nextGridPPQ * quarterInSamples; samplesToNextGrid = nextGridSamples - (ppqTime * quarterInSamples); if (currentSyncMode == SyncModes::SyncInternal && externalInfo.isPlaying) { uptime = ppqTime * quarterInSamples; samplesToNextGrid = gridDelta - (uptime % gridDelta); } // ... added up to here if (currentState != nextState) { currentState = nextState; uptime = numSamples - nextTimestamp; currentGridIndex = 0; if (currentState != State::Idle && gridEnabled) { gi.change = true; gi.timestamp = nextTimestamp; gi.gridIndex = currentGridIndex; gi.firstGridInPlayback = true; samplesToNextGrid = gridDelta - nextTimestamp; } nextTimestamp = 0; } else { if (currentState == State::Idle) { uptime = 0; lastPpqPosition = 0.0; // Added ... to reset PpqPosition } else { jassert(nextTimestamp == 0); uptime += numSamples; samplesToNextGrid -= numSamples; if (samplesToNextGrid < 0 && gridEnabled) { currentGridIndex++; gi.change = true; gi.firstGridInPlayback = waitForFirstGrid; waitForFirstGrid = false; gi.gridIndex = currentGridIndex; gi.timestamp = numSamples + samplesToNextGrid; samplesToNextGrid += gridDelta; } } } return gi; }
  • Current MacOS Version?

    4
    0 Votes
    4 Posts
    68 Views
    iamlampreyI

    @orange @d-healey Awesome, thank you comrades! 😎

  • This topic is deleted!

    11
    0 Votes
    11 Posts
    31 Views
  • Global Receive - Script the input?

    1
    0 Votes
    1 Posts
    21 Views
    No one has replied
  • How to get CPU serial number using HISE?

    30
    0 Votes
    30 Posts
    1k Views
    Dan KorneffD

    @Christoph-Hart @ustk Confirmed working:

    Link Preview Image finalize UniqueID: Use stable SMBIOS fields to generate ID on Windows (70837bae) · Commits · Dan Korneff / HISE · GitLab

    The open source framework for sample based instruments

    favicon

    GitLab (gitlab.korneff.co)

    It requires 2 new files:
    juce_Span.h
    juce_EnumHelpers.h

    and edits to:
    juce_core.h
    juce_win32_SystemStats.cpp
    juce_SystemStats.cpp
    juce_OnlineUnlockStatus.cpp

  • Double Checking GPL License

    2
    0 Votes
    2 Posts
    49 Views
    d.healeyD

    @iamlamprey You can sell your software under the GPL.

    If the images are embedded in the plugin then I think they should fall under the GPL too, but it doesn't matter too much. I think what you wrote is correct.

  • FFT Display Code Causes Audio to Mute After Compiling Twice

    Unsolved
    3
    1 Votes
    3 Posts
    54 Views
    clevername27C

    @Mighty23 said in FFT Display Code Causes Audio to Mute After Compiling Twice:

    Do you mean compilation in the HISE IDE? If so, remember that for…reasons…global variables persist after programme execution ends. That means they're only variables in the machine-code compiled version—in the IDE, they the global namespace is effectively a file that gets written and read whenever you access a variable. (And no, you can't deactivate that.) Within the IDE, this can manifest as every other compilation having issues.

  • Slider strips

    7
    0 Votes
    7 Posts
    65 Views
    ChazroxC

    @xsaad check if your filmstrip is vertical or horizontal? Most are vertical but Idk you're work flow.

  • Popup-MenuBackground

    16
    0 Votes
    16 Posts
    467 Views
    mmprodM

    @whoopsydoodle https://forum.hise.audio/topic/11930/feature-request-missing-laf-colour-properties?_=1740954613418 you can’t do rounded corners as of now… it’s a missing Laf function

  • Win 10 / VS 2017 HISE Build Error

    34
    0 Votes
    34 Posts
    2k Views
    D

    @d-healey Thank you sir, it works well. It turns out that my problem from the start was that I had to disable all IPPs. Now I can successfully compile Hise Standalone. Thank you very much.

    In the future, I will definitely bother you again with questions about my failures. Once again thank you very much.

  • Build Hise 4.1 on a macOS system issue

    7
    0 Votes
    7 Posts
    77 Views
    ulrikU

    @guangcoder I’m glad it worked! 👍

  • FrontEndMacro: Display Parameter Text Instead of Parameter ID

    21
    0 Votes
    21 Posts
    273 Views
    bendursoB

    @d-healey Oh, the code was fine. The export error was due to me forgetting to enable Faust in the new build of HISE 🙂

  • Error in HardcodedMasterFX after Compiling Networks with ScriptNode

    3
    0 Votes
    3 Posts
    38 Views
    S

    @soheil70 Thanks for the help. I figured out the issue: for some reason, I had CompileChannelAmount set as 4 instead of 2 in my DSP network properties.

  • What is the latest on wavetable synthesis?

    3
    0 Votes
    3 Posts
    43 Views
    O

    @d-healey Oh! Nice one Dave! I hadn't spotted that thread, doh!

  • Mac OS troubles - Export as DLL error

    2
    0 Votes
    2 Posts
    36 Views
    ustkU

    @griffinboy I am using the DLL export at this very moment with the latest version successfully
    Have you tried to run Export -> Setup Export Wizard ?

    So you are saying it's the old version that doesn't have the new export window,
    and you are trying to build the last version of Hise to get this new window but the build fails?

  • Is it possible to save presets, not in the preset browser.

    6
    0 Votes
    6 Posts
    358 Views
    V

    @MikeB Did you make it?

  • Paid 3rd party DSP licensing? (Eventide, Sinevibes, Audio Damage etc.)

    12
    0 Votes
    12 Posts
    450 Views
    O

    @Straticah This is an area I've been working towards writing stuff for. Maybe we can do a skills trade??

  • Hise Stock LFO in ScriptNode - Can't find post / Snippet

    2
    0 Votes
    2 Posts
    32 Views
    modularsamplesM

    It's part of the tutorials, under ScriptnodeHiseModules:

    Link Preview Image hise_tutorial/ScriptnodeHiseModules at master · christophhart/hise_tutorial

    The Tutorial project for HISE. Contribute to christophhart/hise_tutorial development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    I love this tut, so simple, but really changed how I think about LFOs. You can do some really wild things by mixing and modulating different wave shapers.

  • Issue with Custom Arpeggiator – MIDI Processor Losing Connection

    Unsolved
    2
    0 Votes
    2 Posts
    48 Views
    S

    Hi,
    I got the same problem in the past (I am not working on HISE at the moment because I don't have time) but I solved with a script.
    Pratically is the script that manage and update the ScriptProcessor SliderPacks.
    You can create an external script as Arpeggiator.js (in the Scripts folder) and in include in the Interface main script:

    include("Arpeggiator.js");

    Here the script

    // create ScriptProcessor SliderPacks array using Synth.getSliderPackProcessor(__name_of_your_script_processor__) // 0 = PitchPack // 1 = VelocityPack // 2 = LengthPack const SLIDER_PACK_PROCESSOR = Synth.getSliderPackProcessor('SyncedArpeggiator') ; const SLIDER_PACKS = [ SLIDER_PACK_PROCESSOR.getSliderPack(0), SLIDER_PACK_PROCESSOR.getSliderPack(1), SLIDER_PACK_PROCESSOR.getSliderPack(2) ]; //create your GUI SliderPacks array // **** IMPORTANT **** //!!! DO NOT SET the processorId !!! in your GUI SliderPacks const var SLIDER_PACKS_GUI = [ Content.getComponent("PitchPack"), Content.getComponent("VelocityPack"), Content.getComponent("LengthPack") ]; // create a control inline function that updates automatically the ScriptProcessor SliderPacks inline function onSliderPackControl(component, value) { local idx = SLIDER_PACKS_GUI.indexOf ( component ); for ( n = 0 ; n < component.get('sliderAmount'); n++ ) { SLIDER_PACKS[idx].setValue(n,component.getSliderValueAt(n)); } }; // set for each of the GUI SliderPack the controllCallback above (onSliderPackControl) Content.getComponent("PitchPack").setControlCallback(onSliderPackControl); Content.getComponent("VelocityPack").setControlCallback(onSliderPackControl); Content.getComponent("LengthPack").setControlCallback(onSliderPackControl);

    I hope this will help you. Contact me if you have any problem or question.

    Have a good day
    Antonio

39

Online

1.7k

Users

11.5k

Topics

100.2k

Posts