HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. toxonic
    • Profile
    • Following 2
    • Followers 0
    • Topics 64
    • Posts 331
    • Groups 0

    toxonic

    @toxonic

    46
    Reputation
    84
    Profile views
    331
    Posts
    0
    Followers
    2
    Following
    Joined
    Last Online
    Age 49
    Location Trier

    toxonic Unfollow Follow

    Best posts made by toxonic

    • RE: Happy Holidays..

      Yeah, merry christmas to all of you! 🤗

      posted in General Questions
      toxonicT
      toxonic
    • RE: dry/wet mix on whole Effect Rack?

      .... and a Saturator based on Faust, if needed, with prefilter and post gain.

      import ("stdfaust.lib");
      lpF = hslider("[0]lowpass[scale:log]",20000,20,20000,1):si.smoo;
      hpF = hslider("[1]highpass[scale:log]",20,20,20000,1):si.smoo;
      drive = hslider("[2]saturation",35,0,50,0.01):ba.db2linear:si.smoo; 
      post = hslider("[5][0]post", -20,-40,0,0.1):ba.db2linear:si.smoo;
      mix = hslider("[6]mix",0.5,0,1,0.01):si.smoo;
      trig = button("trig");
      sat(x) = ma.tanh(x*drive):*(post);
      mixer(x,y) = x*mix,y*(1-mix):>_;
      t_sat_mono=_<:(fi.lowpass(2,lpF):fi.highpass(2,hpF):sat),_:mixer;
      t_sat_bypass = _<:select2(trig,_,t_sat_mono);
      process = sp.stereoize(t_sat_bypass);
      
      posted in General Questions
      toxonicT
      toxonic
    • RE: Granular synthesis in HISE 2022?

      @Straticah
      Just an example for a simple faust granular pitch shifter, but i guess, there are already library functions for something similar:

      import("stdfaust.lib");
      
      grnTrig = vslider("trig",0,0,1,1);
      grnSize = vslider("chunk[style:knob]", 1500, 100, 5000, 1):int:si.smoo;																		// slider: chunk size in samples
      grnPitch = vslider("pitch[style:knob]", 6.5, -12, 12,0.1):si.smoo;																			// slider: pitch in semitones/10
      grnFreq = -(pow(2,grnPitch/12),1)*(ma.SR/grnSize); 																							// calculate grain freq
      grnRamp1 = 1-( (+(grnFreq/ma.SR):ma.frac)~_ ); 																								// iterate through first grain
      grnRamp2 = grnRamp1+0.5:ma.frac; 																											// iterate through second grain with overlap 
      hanning = -(0.5)*(0.5)*(2*ma.PI):cos; 																										// hanning grain envelope
      grnRange = min(20000):max(1); 																												// set range for delay
      
      grain = _<:select2(grnTrig,_,@(_,grnRamp1*grnSize:grnRange)*(grnRamp1:hanning) + @(_,(grnRamp2*grnSize):grnRange)*(grnRamp2:hanning));		//mono process
      
      process = _,_:sp.stereoize(grain):_,_;
      
      posted in General Questions
      toxonicT
      toxonic
    • RE: Nice Faust Reverb and Delay?

      @Straticah did you take a look at the Faust Web IDE?
      You can try out a lot of examples there, most of them can just be copied and pasted into a HISE core.faust node.
      Faust_IDE.png

      posted in Faust Development
      toxonicT
      toxonic
    • RE: LAF Again

      @ulrik said in LAF Again:

      @Straticah said in LAF Again:

      How would i create a LAF slider with rounded rectangles that only fills colour to the point where its value is like in this mockup?
      Have not seen that yet in other HISE examples 👀

      Something like this?

      slider.gif

      HiseSnippet 1065.3ocsV0saZbDEdVr2n.sopQpO.q3pEWBF6j3Tonn5+fVTscPF2nVEYEMrygkIL6LnYGvlTk2sdUed5aP6Y1YA1TivIHUtvly+eyYNy2gtZUDjlpzDuxWMaLP79Z+dyjlgmLjxkjNmR7dj+E7HHnmfy.M43Yiooo.i34s0OYcwq71jrO+8OdLUPkQvRUDxaTXrmwS3lkZ6d3uvEh1TFbEOof2O6vNQJ4IJgZBBms7aRFSiFQigKnV2J4S7dPKF2nz8LTCjh9brhMq2P0MRm+ugmx6K.qvdjdXhbpImLjKXcmeTSIDus6t7fuk6f+c9myY7E5W1.91LCAKinXOvqz5fzdeAPxq.j11AoG62KRyGaVZwhmuxuiz.5ATrUWDJNeIk9qs7OQgdHMMRnif1ZTXQDgGzrY8.7O0dYkJX6N0DLkpC5cVmSacYvqBlGYLXNQkLVIQgvpNyUWFyHYeAcPA+iz.1.NSEQEmoTiNRxZCfHDiv4ZCMDySQPzdhLxvUxvpLM8ly3RfpcyVUqGLXtw35Ap9uuVk+nRYrBoJAzXrliPwnsGBqML0ksPmhn.kaPQDjqZHUxD.pm918ud2Cx0JQEgVMAOI2iZA6l4RtCSyyzTpXBbgRmPE7O.rfcBjnGUJu6tk6GWobbiTaywNlF59WZC7HFMxhn3FCvg6KUSjLfcIDYnxXADRqiE5oWuSyFOu17bs5LI3wCMwZX1Zx1awqvl0yf9NSC997SiqDWuhJ4ru55cyPNN3lnFAqqftRkU06qXF3V6LE1Bu2VkcB3H7.KA1UXTgsjw37PClZB9j4JUOCdkGGt3Jodv90pGrFrTMBGE0.yNn9Q6vpat0Bh6LY5FKq8x4ibAJ4EJC7ZYX1TWkOVI3+ZZvfUZy9DPqDBPuRyVRN85BLTNIoOnq6ZZKbDYA9TpkG74QsD4dQVvQkrijad8XHWtsRvrTF1ueWhHR9SZKkTNBQWMYDReSNgT9x.NljG56ZxjLzWf6+Pxu14TpgNOOXJwxLFzFt8z3cJLE2M3H5J6eJjNxnFm4aNsCwqx8W0aWVwe+vYEEtgyLCWn3O0GNDrOsJtuI0LSjsx6mUZ9GPLREjD5sEODIbFNg0UkxsWZE21khMX6T6wpasruj6ReiKNTrIBp4S2lXWalavlxhT3VZZIVpYEKzWvJllqcEymKDereWtIZ3pwXoUfQ7J9+CLluX9Q9sFL.ohVBvs8a+aa5V36o7H0mAIcNmhbO38p+ESR5gzVQ.VcoDDXx88JYek3jaZkscfdfjkI7O3mbi6Yk8xMt2bi3HVjV8tH2aK6p+GloAwjL6W5T1+bqbvdyeS462rQSBNJxeWTj83+D7g6piY+MHlmtAw7rMHlmuAwbvFDyK1fX9g0Fi8G.dzDiJw8b.UzsUF2lmWKIEmrxlBI+qcYQxY
      

      @orange Could you please add this to the LAF Collection on github? :-)

      posted in General Questions
      toxonicT
      toxonic
    • Building HISE Scriptnode on Linux

      after hours of trial and error building the scriptnode branch of HISE on linux mint 19.2, i finally managed to build the HISE standalone binary. Because i couldn't find helpful ressources by searching the internet, and i guess, that other people may run into the same problems, i decided to post my workflow here, hoping that i have done everything correctly - otherwise, please correct me. ;-)

      1. download the scriptnode branch of HISE via github

      001.png

      1. unzip the "HISE-scriptnode" folder

      2. in "/HISE-scriptnode/hi_modules/synthesisers/synths/WavetableTools.cpp" line 503 -> replace "ceilf" with "ceil" with a texteditor

      1.png

      1. in "/HISE-scriptnode/hi_tools/hi_standalone_components/SliderPack.cpp" line 300 -> replace "floorf" with "floor"

      2.png

      1. in "/HISE-scriptnode/hi_tools/hi_standalone_components/SliderPack.cpp" line 302 -> replace "fmodf" with "fmod" and delete the "f" conversion suffix after "1.0"

      3.png

      1. open the "HISE Standalone.jucer" file in "/HISE-scriptnode/projects/standalone" in the Projucer

      2. just save the file, you don't need to change anything within Projucer - the Makefile will automatically be created in "/HISE-scriptnode/projects/standalone/Builds/LinuxMakefile"

      3. Run the Makefile via terminal with the command

      make - CONFIG=Release  
      
      1. If everything is done so far, it should compile the "HISE Standalone" binary to the "build" subfolder

      2. run "HISE Standalone" by doubleclicking the icon, open the settings dialog, select the correct path to the HISE scriptnode source and a path to folder, where your custom nodes should be stored in. for some reason, this only worked for me, when this folder was located inside the HISE source code folder, i don't really know, why.... :-/ after that, save settings and quit HISE.

      4.png

      1. once more, open the "HISE Standalone.jucer" file in "/HISE-scriptnode/projects/standalone" in the Projucer

      2. in "hi_modules" change "HI_ENABLE_CUSTOM_NODE_LOCATION" to "Enabled"

      5.png

      1. resave the project and rebuild HISE like described in step 8 via the Makefile.

      at least, this workflow worked for me, hope some people will benefit of that description... ;-)

      posted in General Questions
      toxonicT
      toxonic
    • RE: What is the next Step After FAUST DSP Network as Dll

      @DabDab Did you enable compilation in the Network properties and made sure, all child nodes are enabled for compilation as weil?

      PS: And did you relaunch the project after compilation?

      posted in Faust Development
      toxonicT
      toxonic
    • RE: Adventures in ScriptNode - Faust.....

      @Lindon said in Adventures in ScriptNode - Faust.....:

      @Lindon ..and its because you need to set up the Faust path in the project preferences...by the looks of things...

      ooops, that was faster than me! :D

      posted in Faust Development
      toxonicT
      toxonic
    • RE: Some Faust errors on Hise

      @Steve-Mohican
      In the first example you only have one in- and one output, while the hise core.faust node expects 2 ins and outs.
      you can make it process stero channels by changing the process line as follows:

      process = sp.stereoize(diode_clipper);
      

      In the second exapmple, there's an 15 band analyzer included, each band displayed by an "bargraph" module, which HISE interprets as a modulation source. Since HISE only accepts 4 moulation sources per node, this will lead to an error. You can just delete the ": level_viewer" from the process line, then the example works, but without analyzer.

      The last one is somehow mystic (at least to me). There are a lot of functions that are not part of the included libray "wdmodels.lib". You can have a look at the contents of the library here.

      posted in Faust Development
      toxonicT
      toxonic
    • RE: Faust is here...

      @Sawer ahh, okay, i'm still at work, but try to use this as process line instead:

      process = _,_:re.dattorro_rev(bw, inputDiff1, inputDiff2, decay, decDiff1, decDiff2, damping);
      
      posted in Faust Development
      toxonicT
      toxonic

    Latest posts made by toxonic

    • RE: Issue building HISE plugin

      @d-healey Hey David, yeah I did. But I already managed it to compile the plugin, just by changing the path in the juce_VST_Wrapper.cpp to an absolute path on my system.
      Not an elegant solution, but worked for me. But nevertheless, I'd love to know, why it won't compile otherwise.
      I tried to point to the VST3 SDK folder as well as the vst2.x folder inside it, none of them worked.
      I also renamed the VST3 SDK folder, to VST3_SDK , because I thought, it might got something to do with the empty space in the directory name... didn't work either.

      posted in General Questions
      toxonicT
      toxonic
    • Issue building HISE plugin

      I've been trying to build the plugin version of HISE and got the following error message:

      In file included from ../../../../JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp:26,
                       from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9:
      ../../../../JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:87:10: fatal error: pluginterfaces/vst2.x/aeffect.h: No such file or directory
         87 | #include "pluginterfaces/vst2.x/aeffect.h"
      
      

      I think, I do remember, I already had that issue yet, but I don't know anymore, how I solved it... :-/
      The path to the VST (Legacy) SDK Folder looks fine, and it contains the aeffect.h header file, but it seems that I must be missing something.
      Anyone can help?

      posted in General Questions
      toxonicT
      toxonic
    • RE: Audio Loop Player - filebrowser in compiled plugin / Linux

      @d-healey Thank you for your superfast reply. :-)
      I don't know what I have done wrong, I just recompiled it again, but this time I didn't use the autogenerated batch file, but just resaved the juce file manually after making sure, the flag was put inside the preprocessor definitions and now it works fine! :man_facepalming_medium-light_skin_tone:
      Thank you anyway! ;-)

      posted in General Questions
      toxonicT
      toxonic
    • Audio Loop Player - filebrowser in compiled plugin / Linux

      I built a tiny drum sampler based on Audio Loop Players and compiled it to Linux VST3 instrument, which worked fine so far. But inside a DAW (Ardour) I neither can open a file browser. nor can I drag and drop new samples into the Audio Loop Players.
      I already found this thread, so I added the flag JUCE_DISABLE_NATIVE_FILECHOOSERS=1 to the Extra Definitions in the preferences of the project, resaved it and recompiled it - but still no file browser opens when I click on the Audio Loop Player inside Ardour.
      Any ideas?

      posted in General Questions
      toxonicT
      toxonic
    • VST3 plugin error in DAW

      Since I changed some parameter values in a project's DSP Networks and recompiled them, the compiled VST 3 plugin doesn't run anymore on Linux in Ardour.
      Ardour spits out the following cryptic error message after scanning the plugin:

      VST3 module-path '/home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so'
      [Info]: Scanning: /home/toxonic/.vst3/T_Glitch.vst3
      Error: signal 11
       ---8<---
        /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fe58b9f0520]
        scriptnode::NodeBase::getNumParameters() const
        /home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so(+0x9309bf) [0x7fe585f229bf]
        scriptnode::DspNetwork::DspNetwork(hise::ProcessorWithScriptingContent*, juce::ValueTree, bool, snex::ExternalDataHolder*)
        scriptnode::DspNetwork::Holder::restoreNetworks(juce::ValueTree const&)
        hise::JavascriptProcessor::restoreScript(juce::ValueTree const&)
        /home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so(+0x972636) [0x7fe585f64636]
        hise::Processor::restoreFromValueTree(juce::ValueTree const&)
        hise::Processor::restoreFromValueTree(juce::ValueTree const&)
        hise::ModulatorSynthChain::restoreFromValueTree(juce::ValueTree const&)
        hise::FrontendProcessor::createPreset(juce::ValueTree const&)
        hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*)
        hise::FrontendFactory::createPluginWithAudioFiles(juce::AudioDeviceManager*, juce::AudioProcessorPlayer*)
       --->8---
      Scan Failed.
      

      Any ideas on that?

      EDIT: Tried some thing, updated to the latest commit, rebuilt the DSP networks as hardcoded fx (cleaned build folder), kicked out the Script FX Module (kept hardcoded master fx)... still the same error after recompiling (clean build folder)!
      Then compiled to VST2: Works like a charme! Maybe a VST3 issue?
      In earlier commits everything worked fine with VST3...

      posted in General Questions
      toxonicT
      toxonic
    • Creating a file

      Is it possible to create a file via the File API? I only found createDirectory().
      Although somehow write...() functions from the File API seem to create files too in some cases... 🤔

      posted in Scripting
      toxonicT
      toxonic
    • RE: Store values in ScriptPanel data object

      @Lindon Thanks for your reply!

      1. No, i'm saving the data inside the files via the File.writeObject(ArrayToStore)in a file called for example stutterPresets. The array to store in the files, containing the values for the UI controls is called the same.
      2. Yes, actually in AppData/User Presets
      3. I made two functions, one to save the arrays in a file and one to recall them.
      // Directory to store Presets
      var PresetDir = FileSystem.getFolder(FileSystem.UserPresets);
      
      //function store
      inline function writePreset (FILE, ARRAY)
      {
          local PresetFile = PresetDir.getChildFile(FILE);
          PresetFile.writeObject(ARRAY);
      }
      
      //function recall
      inline function recallPresets (FILE)
      {
      	local PresetFile = PresetDir.getChildFile(FILE);
      	return PresetFile.loadAsObject();
      }
      

      I recall them on init lie this (for example):

      stutterPresets = recallPresets("stutterPresets");
      

      PS: What you are seeing in the Panel in my last post are the values of the array, which I wan't to store inside a file. Since this is already empty in the compiled plugin, I don't wonder about, that the files are overwritten with null. I just can't get my head around, why the arrays won't get filled with the parameter values i set in the corresponding "presets"...

      posted in General Questions
      toxonicT
      toxonic
    • RE: Store values in ScriptPanel data object

      Just to demonstrate my issue, i added a panel, whcih i use to visualize the content of one of the preset dummy arrays.
      This is, what it looks in HISE, i can see the values changing, when tweaking parameters:
      HISE-working.png

      And this is, what it looks in Ardour as compiled plugin.
      Remember, the snippet i posted, which works pretty much the same way, works in both, Hise and in Ardour as compiled plugin....
      Compiled-not_working.png

      posted in General Questions
      toxonicT
      toxonic
    • RE: Some Faust errors on Hise

      @harris-rosendahl
      It's always a good idea to check the examples in the Faust Web IDE (just google for it), and have a look at the diagram. There you can see, if you can simply converst a mono channel code to stereo, or if there are other channel issues:
      Screenshot from 2023-01-05 11-03-51.png
      Which reverb for example has a channel mismatch in HISE too?

      posted in Faust Development
      toxonicT
      toxonic
    • RE: Some Faust errors on Hise

      @harris-rosendahl i just took a look at the faust library description in the web, it seems, that this demo has 8 channels....

      posted in Faust Development
      toxonicT
      toxonic