HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. andioak
    3. Topics
    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 26
    • Posts 184
    • Groups 0

    Topics

    • A

      Tool published: SFZ to HISE samplemaps & JSON opcodes extractor

      Watching Ignoring Scheduled Pinned Locked Moved General Questions sfz converter samplemap samplemaps javascript
      4
      9 Votes
      4 Posts
      689 Views
      A

      Added a link to the app to the SFZ format site, now the SFZ to HISE converter is linked (and thereby HISE itself :) ) from the tools section:

      Link Preview Image SFZ Creation Tools - SFZ Format

      favicon

      (sfzformat.com)

    • A

      Help me understand FFT and IPP (and other libs)

      Watching Ignoring Scheduled Pinned Locked Moved General Questions compiler fft ipp
      4
      0 Votes
      4 Posts
      672 Views
      A

      @Christoph-Hart Thanks for the clarification!

      The CPUs instruction set for SIMD seems to be a big factor for the actual gains. I found a nice thesis by a guy named Anthony Blake called "Computing the fast Fourier transform on SIMD microprocessors", including lots of comparisons from quite recent machines (i7-2600, around 7yrs old "only":=). It included a high-performance FFT library called SFFT / Spiral, vDSP, Intel IPP and FFW3: (page 140 in pdf)

      https://www.cs.waikato.ac.nz/~ihw/PhD_theses/Anthony_Blake.pdf

      According to the benchmarks, another library called SFFT (Sparse Fast Fourier Transform) was used that partially trashed the others (FFW3/vDSP/IPP) around the 4-64 bit sets in lots of tests. But according to the Spiral SFFT page:

      the algorithm can be faster than modern FFT libraries. However, the reference implementation is not optimized for modern hardware features such as the cache hierarchy, vector instruction sets, or multithreading.

      Too bad, would have loved to stare at some more graphs and then going "I wish I understood the context". :) It is now being used in 3D FFT to analyze the trajectories of gravitational pulls or ... well space n shit 😁

      @d-healey Thanks for the video, I saw it yesterday and it is really good. He explains it perfectly.

    • A

      Xcode errors during iOS build

      Watching Ignoring Scheduled Pinned Locked Moved General Questions xcode ios macos build error
      4
      0 Votes
      4 Posts
      358 Views
      A

      @Christoph-Hart Okay, I see. Too bad but I see the time-sucking black hole in re-inventing the wheel for you, especially for such a unique computing environment. Already lots of time spend making new features and fixing bugs. Not worth it.

    • A

      Develop branch fails to build on MacOS

      Watching Ignoring Scheduled Pinned Locked Moved General Questions build error building hise macos
      3
      0 Votes
      3 Posts
      285 Views
      A

      @Christoph-Hart

      can I build HISE with C++ 14? if not, is there a dedicated installation of C++ 17 I can add to macOS 10.13? what is the minimum target OS on macOS / iOS for this newest build of Develop branch? What is the minimum version of Xcode for building HISE?
    • A

      Use Homebrew (brew) package manager with HISE and Xcode version(s)

      Watching Ignoring Scheduled Pinned Locked Moved Blog Entries mac macos xcode homebrew packages
      1
      1 Votes
      1 Posts
      294 Views
      No one has replied
    • A

      IR Convolution plugin - sample location and best practices?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting convolution audio files filesystem file samples
      4
      0 Votes
      4 Posts
      505 Views
      d.healeyD

      @andioak said in IR Convolution plugin - sample location and best practices?:

      That one was just super popular What happened?

      Popularity has nothing to do with it. Git is a version control system, branches represent different versions of the source code, the scriptnode branch was a feature branch, once the feature (scriptnode) was stable it was merged back into the develop branch. Once the develop branch gets to a point where it's stable-ish it is merged into the master branch. So the master branch will always be out of date, but should at least build and export successfully. The develop branch is the cutting edge latest changes, unless there is a feature branch that is being actively worked on.

      @andioak said in IR Convolution plugin - sample location and best practices?:

      So no function to get all files and sub-folders of files then? We really need that one. That one would make it possible for users to copy-paste files that then show up n the plugin. Dynomite.

      Yes you can use the file system and file apis (I have several videos about these on Patreon). This is not directly related to loading files into the convo reverb though.

    • A

      Using JUCE 6 separately from HISE and JUCE 5?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions installation juce install path
      2
      0 Votes
      2 Posts
      314 Views
      A

      bumpty dumpty :)

    • A

      Making standalone app with offline/batch features?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions batch standalone processing batch-process offline-process
      10
      0 Votes
      10 Posts
      596 Views
      D

      @andioak Did you figure this out?

    • A

      Setting fonts using .set("Font", "my-font") on midi tiles render error message

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports
      2
      0 Votes
      2 Posts
      298 Views
      A

      Sorry, my bad. The issue I had was about another property, namely the fontSize property of the labels, that was with initial capitalized F, as FontSize in tiles.

      @Christoph-Hart Perhaps a good change for HISE 3.0? Move those to all-the-same across all object types.

      Anyways, solved.

    • A

      Linux Manjaro (kde plasma desktop) issue, no open sample folder dialog

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports linux settings linux-arch samples
      1
      0 Votes
      1 Posts
      272 Views
      No one has replied
    • A

      Linux Ubuntu 16.04 - exported standalone / plugins not starting

      Watching Ignoring Scheduled Pinned Locked Moved Bug Reports standalone ubuntu linux-debian linux vst errors
      28
      0 Votes
      28 Posts
      2k Views
      A

      @d-healey Well the sets are not correct, SSE 4.2 is NOT the highest or newest that HISE uses. Most likely AVX and AVX2 aswell. Or indeed I would have to dig out that old spiked-on AMD cpu in my intel machine.

      Architecture = "native" is the issue. It over-rides any setting you make in hise. It uses your build-cpu“s sets available to do the best enhancements available. And whoever said IPP is the only thing in need of higher sets hasnt read the amount of issues on this topic over at the juce forums.

      Setting Architecture to x64 in the .jucer project is the ONLY thing I was able to start my instrument build with. That flattens it to x86_64, which is basic original specs of the first 64-bit cpus, so no SSE3 or above, most likely.

    • A

      Linux VSTi plugin export formats and the binaries folders

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      3
      0 Votes
      3 Posts
      219 Views
      A

      @d-healey Thanks for the verification!

    • A

      Linux standalone instrument application and settings folder locations

      Watching Ignoring Scheduled Pinned Locked Moved General Questions linux linux-debian standalone linux-mint preset
      8
      0 Votes
      8 Posts
      724 Views
      A

      @d-healey said in Linux standalone instrument application and settings folder locations:

      /home/.config is a folder. . on GNU/Linux means the folder is a hidden folder. The default vst folder is /home/.vst or /home/.vst3/ and LV2 plugins go in /home/.lv2`. I'm pretty sure most users are familiar with this.

      Windows and (especially) MacOS like to tell users what to do, GNU/Linux is a little more flexible generally, depending on the distro and desktop environment.

      Okay, that“s a big part of why a lot of people choose Linux instead of the others. That“s a part of the platform and most experienced users or intermediate will handle that fine. The obviousness/strictness of a mac is a big part of why an answer can be found almost anywhere. And having rules for it is a big part of a platform. Nevertheless, freedom is in the whole Linux air. To be respected.

      You can download an installer I created here to try it out.

      Will do! Thanks a lot for the info.

      This info should really go in the docs. The paths on Linux is an essential part of docs. One fine day. Perhaps I“ll get there first, you never know.

    • A

      Text values for output bus, effects or gain reduction - use label, paintRoutine or animated strip?

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      16
      0 Votes
      16 Posts
      4k Views
      A

      @DimitrisSP said in Text values for output bus, effects or gain reduction - use label, paintRoutine or animated strip?:

      Maybe a logical contition should be:
      "if all values of a panel == -100...stop the timer"
      else start the timer...

      Yes, we want to stop anything at times we don“t need it. But on the other hand it will have to be started again once a sample reaches a certain value. Which cannot be known unless we probe the values in a timer. Catch 22. :/

      So at the time we got sound to process (using cpu) we also have to start the timer. And when it“s off ... well no stress, I guess... :)

      If we got x amount of channels, we have to always probe x amount of channels. That“s almost all we would need to do at a very fast rate. Except for transforming the values into gainFactors. Which is a calculation. So the calculation could be set to only have to be made if we have a value change. Or if it“s above -100. But that requires all x channels to be probed first.

      Anyway I understand your fear of "infinite timers", I definitely share your concern there :/

    • A

      Designing / changing hise output vst basic setting panels / elements?

      Watching Ignoring Scheduled Pinned Locked Moved General Questions installer user interface samples
      23
      0 Votes
      23 Posts
      2k Views
      A

      @Christoph-Hart said in Designing / changing hise output vst basic setting panels / elements?:

      This. It's more powerful this way than a simple JSON system.

      Yet, I cannot trigger any buttons on the plugin“s "Install Samples" using the if(obj.text == "Install Samples") inside the laf.registerFunction("drawToggleButton", function(g, obj)function. Is that considered a drawDialogButton ?

      This one:

      Screen Shot 2020-11-16 at 23.49.12.png
      Here I would like to:

      customize the look and line-breaks of the text line and also remove/hide the "install samples" button and customize the positioning of "Choose Samples folder". is the text in the image accessible? Is it a panel or an alert window? or alternatively entirely remove/suppress the entire panel with a flag in HISE settings, the HISE_SAMPLE_DIALOG_SHOW_...=0 and then put the "Choose samples location" in my own settings panel on the UI. Is that possible? Or is that C++?
    • A

      Affecting midi CC values using a UI element? [solved]

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      17
      0 Votes
      17 Posts
      689 Views
      A

      @d-healey
      Thanks for the snippet, yes I see how it is modulated now! So the UI to internal cc is solved, many thanks.

    • A

      Keyboard (Floating Tile) move keys up and down horizontally

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      7
      0 Votes
      7 Posts
      387 Views
      A

      @d-healey said in [Keyboard (Floating Tile) move keys up and down horizontally]

      Another bug is FloatingTile1.setPropertiesFromJSON() gives a function not found error. Also using FloatingTile1.setContentData() makes the floating tile go blank.

      True, my experience was the same with both of those ones. I think you nailed it initially, actually. The moving of the x and y using .set() is the way to go, then create a panel to put the tile inside.

      Another question, is there a way to increase the text size of the note numbers on the keyboard tile? It“s rediculously small now and no pixel size seems to change that if I change the font size in the json in the keyboard tile settings, even after an F5 refresh... any ideas?

    • A

      Routing Matrix issue - no signal when returning send from an effect [solved]

      Watching Ignoring Scheduled Pinned Locked Moved General Questions
      4
      0 Votes
      4 Posts
      403 Views
      A

      @Lindon said in Routing Matrix issue - no signal when returning send from an effect [solved]:

      @andioak routing matix is very powerful - but a pita most of the time - Lets hope @Christoph-Hart included the send/return buss fx I asked for in an up and coming version of HISE...:-)

      Yes, lets. But to redesign this one, the Routing Matrix, would be a good idea. The clarity of "taking from one stream" and "putting it into another stream" is lacking. My preference in routing is a origin and a destination. This case would be this to me, using 3 rows of connections instead of 2:

      input stream - choose a stream to tap into. routing matrix interconnection slot. destination output slot.

      Use:

      Connect "Container 1-2" to "Routing Matrix plugin input 1-2". direct / redirect "Routing Matrix plugin input 1-2" to output, for example "Container 3-4".

      We now directed the sound in one "beginning to end" path. Easy to understand. The current one is mysical and in that sense, dangerous for the listener of both hise and it“s intended output product.

    • A

      Export - import of modulator data through exportState / restoreState (scriptnode branch)

      Watching Ignoring Scheduled Pinned Locked Moved Scripting
      2
      0 Votes
      2 Posts
      229 Views
      A

      Ok, found the solution! I was treating all things in the modulator as data exportable by exportState(), but that one does not export or include table data, regardless of the modulator, it seems. So this one is the appending solution of for the table data of the "Global Static Time Variant Modulator", that has both buttons and table data:

      Content.makeFrontInterface(633, 400); // Prepping for export, original modulator const var Modulator1 = Synth.getModulator("Global Static Time Variant Modulator1"); const var mod1Table = Modulator1.asTableProcessor(); // asTableProcessor, was the missing piece. // Export the table (only one so index is 0) const var export1 = mod1Table.exportAsBase64(0); Console.print("export1: " + export1); // Prepping for import, next modulator const var Modulator3 = Synth.getModulator("modulator3"); const var mod3Table = Modulator3.asTableProcessor(); // Use the previous export1 as the data input for table index 0. mod3Table.restoreFromBase64(0, export1);