• One VST per instrument or...?

    6
    0 Votes
    6 Posts
    543 Views
    musictopM

    @d-healey yes - i was reading your posts and threads about samplemap swapping wich sounds much better, i was anyway planing to start the project from the scratch, since i think i now understand much better how HISE works - so far it was a beginner learning process for me. Love it though - fantastic tool!
    It's just that i am a musician with very little knowledge about these things and am struggling a bit with scripting and such. :)

    thanx a lot David.

  • Global Modulator within Containers

    9
    0 Votes
    9 Posts
    865 Views
    Christoph HartC

    Yes, envelopes are not allowed in Global modulators because they have the ability to extend the lifetime of voices which leads to all kinds of weird edge cases. There's a blog entry about this subject where I explain it.

  • Problem adding more than 3 Sampler

    1
    0 Votes
    1 Posts
    372 Views
    No one has replied
  • Help With SampleMap Selector

    20
    0 Votes
    20 Posts
    2k Views
    DalartD

    @dalart said in Help With SampleMap Selector:

    @staiff Thanks, I managed to get it working !

    I have a question about customizing the the default PresetBrowser that's in the floating tile properties:

    I would like to customize it to look like this:
    0_1541016215776_display.jpg

    If none of this can be achieved using the default PresetBrowser, is there a way to build one to fit these needs ?

    @christoph-hart is there any way to hide/change these elements ?

  • Extreme sample Converter Xfade = hise Xfade ?

    9
    0 Votes
    9 Posts
    821 Views
    staiffS

    my video here:
    https://drive.google.com/file/d/1RpONQ9cWLbz71KVi3uEpQB_AJl3hPZtE/view?usp=sharing

    ESC xfade loop demonstration (and prove that the xfade loop in hise is not the same function)

    So i have my answer ;)

  • Testing an .ch1 Monolith and Samplemap in Hise

    19
    0 Votes
    19 Posts
    2k Views
    d.healeyD

    @midiculous That's a lot of sample maps! How many samples?

  • Mac question..

    17
    0 Votes
    17 Posts
    1k Views
    LindonL

    @christoph-hart yep good work.

  • Read-Only preset browser

    7
    0 Votes
    7 Posts
    482 Views
    JayJ

    @d-healey thank you David

  • Making fx plugins mono compatible from Juce?

    7
    0 Votes
    7 Posts
    661 Views
    orangeO

    @christoph-hart Thank you so much.

    So should I modify it before exporting plugin?
    I've found this, should I modify it like this: https://github.com/kusuri/JuceTutorial/wiki/Plugin-Channel-Configuration

  • db meter

    6
    0 Votes
    6 Posts
    484 Views
    hisefiloH

    @christoph-hart that's it!!!! thanks

  • showMessage Option

    6
    0 Votes
    6 Posts
    430 Views
    JayJ

    @d-healey Good One

  • UI and Concept opinions needed

    5
    0 Votes
    5 Posts
    418 Views
    d.healeyD

    I prefer the classic rhodes design

  • AAX dosen't recognized in Pro tools 2018

    9
    0 Votes
    9 Posts
    809 Views
    Christoph HartC

    Everything gets worse all the time ;)

  • A few questions relating to synthesis

    18
    0 Votes
    18 Posts
    2k Views
    hisefiloH

    @trivalve Oh. well, maybe this inspires you to start trying. 12 partials EP not the best but getting there https://soundcloud.com/user-830166644/additive-test

  • Add/Remove "Sound Generators" at runtime using scripting

    7
    0 Votes
    7 Posts
    767 Views
    Christoph HartC

    Nope, HISE as you know it will remain the same, it's just that for people who know C++, it's a real burden getting into the workflow of HISE (learning the GUI, figuring out the scripting language) and this will help them get things done faster.

    I have found myself in many situations where I would prefer having C++ at my fingertips (eg. writing the modular FX chains for HEXERACT was a nightmare which is a trivial task for C++).

  • 1 Filmstrip to display various parameters

    6
    0 Votes
    6 Posts
    562 Views
    JayJ

    @d-healey I know but I want to have a dedicated lcd kind of style to display this

  • Get name of attribute

    7
    0 Votes
    7 Posts
    745 Views
    Christoph HartC

    Yes the parameter indexes are constant properties of each module object. The autocomplete popup is your best friend in this case.

  • Embedded samples

    2
    0 Votes
    2 Posts
    233 Views
    d.healeyD

    Is there a way to embed samples

    No

  • New operator support in Javascript engine?

    6
    0 Votes
    6 Posts
    781 Views
    BastiaanB

    @Christoph-Hart: I see, your concerns about the GC are valid. Memory leaks in these type of application are horrible. Thanks for pointing out this behaviour of the Javascript Engine garbage collector. I will definitely take these into account.

    I have been refining and simplifying the method above:

    /* The helper manager that helps us instantiate new objects */ function ObjectManager(){ return { construct: function(prototype, parameters){ var instance = PrototypeFactory(prototype); if(typeof(instance.construct) === "function"){ instance.construct(parameters); } return instance; } } } /* Note: you need to add all your class definitions to this factory */ function PrototypeFactory(name){ switch(name){ case "Cat": return Cat(); } } /* Now we can just define classes in a modern Javascript fashion, like this Cat class with some properties and methods */ function Cat(){ return { name: "Garfield", construct: function(parameters){ this.age = parameters.age; }, printInformation: function(){ Console.print("Age: " + this.age); Console.print("Name: " + this.name); } } } /* Now we can instantiate objects of that class */ var cat = ObjectManager().construct("Cat", {age: 2}); cat.printInformation(); /* Outputs: Age: 2 Name: Garfield */ var olderCat = ObjectManager().construct("Cat", {age: 4}); olderCat.printInformation(); /* Outputs: Age: 4 Name: Garfield */

    Again, i'm still experimenting and planning my code design strategy. Is there a way that I can monitor the Javascript engine's object count thru the API? Something like (pseudocode):

    const var objectCountTimer = Engine.createTimerObject(); objectCountTimer.callback = function() { Console.print("Object count: " + Engine.getObjectCount()); }; objectCountTimer.startTimer(10000);

    Besides that fact that this would allow me to test my design strategy for memory leaks, I think it would be a really nice addition to the framework because it allows monitoring of object instance regression (at least during debugging) and analyzing the behaviour of the Javascript Engine GC.

    It's not that i'm planning to do very advanced OO Javascript stuff, so no inheritance etc. Just some basic prototyping and instantiation.. should that work (without memory leaks) than that would be my prefered strategy in contrast to using the C++ API. Just because i'm more comfortable with Javascript then C++ now-a-days.

    So the GUI design I have in mind for this particular plugin i'm building is a very dynamic in nature, i'm trying to dynamically modify the module backend (Effects & Modulators) based on the users input. So for this to work, the Javascript Engine must be able to free memory of (my custom Javascript UI) objects that are unreferenced and go out of scope, otherwise it will leak like hell (like you mentioned) and render my method (mentioned above) totally unusable. Today I'll try to attach some custom C++ code using the C++ API, try and see how that works out.

    Ps. It's good to know that a script panel can hold a custom data object, that would allow me to go for a more C stylish approach inside Javascript instead of the my custom OOP approach above. Like putting all the logic in a namespace and let the script panels cary their own data. Will give this approach a shot too, but I slowly getting the feeling that I need to go down the C++ road for my idea to work properly (and keep my code clean/maintainable).

    Update: I found out that the object oriented Javascript method failed when trying to access class properties from within a callback function:

    function DisplayComponent(){ return { backgroundColor: Colours.green, construct: function(parameters){ this.setPaintRoutine(); }, setPaintRoutine: function(){ var classthis = this; Display.setPaintRoutine(function(g) { g.fillAll(classthis.backgroundColor); }); } } }

    It just can't access that backgroundColor property from within that scope. I could not find any documentation or examples on how to implement custom C++ code so i'm going to see if i can do something with the data object holder inside Script panel and build my design around that.

  • Loading presets in development mode

    3
    0 Votes
    3 Posts
    503 Views
    BastiaanB

    Ah that makes sense. Thanks :)

37

Online

1.6k

Users

11.2k

Topics

97.4k

Posts