@d-healey oh noooooo.
I see a setControllerNumbersInPopup and a setConsumeAutomatedControllers could those be used for this?
@d-healey oh noooooo.
I see a setControllerNumbersInPopup and a setConsumeAutomatedControllers could those be used for this?
@CyberGen friendly bump.
Maybe it's possible by creating a popup panel and using some of the MidiAutomationHandler API?
which one for midi learn?
Hi,
Can we customize the default right-click menu for sliders?
I want to modify not only its appearance but also add more items (functions) to the list. I’d like to retain the "Learn MIDI" and "Assign CC" functions while adding a couple of additional features.
How should I approach this?
@Matt_SF Thank you for this example. My old code worked in this way. The issue is that now I am not declaring knobs in the standard Content.getComponent() way. I'm using objects. As in reg UIObjects = {}; and these do not seem to be added as attributes to their parent script like normal const var do. I was wondering if there was a different way that wouldn't require the use of const var nor global references.
@d-healey Thanks, Wishing you a speedy recovery.
Hi,
Little problem. I'm trying to control my UI pitchwheel knob from a different script processor. I used to have a const car reference, and it worked fine. like so:
if (Message.getControllerNumber() == 128)
{
var PitchMod = (Message.getControllerValue());
Interface.setAttribute(Interface.pitchWheel, PitchMod);
}
But in a new project I have all my UI elements as parts of one object and this set attribute approach does not work anymore. I would think this would work but it's not.
if (Message.getControllerNumber() == 128)
{
var PitchMod = (Message.getControllerValue());
Interface.setAttribute(Interface.KEYBOARD.UI.wheel.pitch, PitchMod);
}
My question is how do I setValue() to an object in a different script processor?
@ulrik So I just realized, what you are saying here is that I should turn off the save in preset mode. That makes the setValue work. But not the default value.
@Dan-Korneff & @ulrik So, enabling "Save in Preset" works, but I didn’t want to rely on that for this, primarily because patches can be edited and that could mess with the initial setup that I'm looking for.
I wasn’t aware of the callAfterDelay() function. That did the trick—thank you for the tip!
I have to say, though, it’s still a convoluted way to achieve this, especially considering how many buttons I’d need to set it up for. I’m still wondering why simply setting the default value doesn’t work with script buttons. It seems to work fine with other components.
@ulrik I'm currently setting the value in oninit. I'd like the button to start in the on position. I had tried the .changed() as well as setting the default value property to 1, but neither of those did the trick.
Hi,
I'm encountering an issue where using setValue(1) on a button component does not visually update the button state, even though getValue() correctly returns 1. Here's a minimal example to replicate the problem:
const var button = Content.getComponent("Button1");
button.setValue(1);
Console.print(button.getValue()); // Prints 1
While the console confirms that the button's value has been set to 1, the button does not visually reflect the change. Is there an additional step required to trigger the visual update for button components?
@clevername27 will there be a youtube upload for those of us who couldn't make it?
@clevername27 said in Next HISE Developer Hang:
@CyberGen Few developers would disclose this information.
True, though I believe it benefits us all. Tho more we share the better. If there is enough interest, maybe we could conduct it using an anonymous form—a developer-sourced audio tool market study? Just a thought.
@d-healey This is really helpful info David. Much appreciated. Thanks.
@clevername27 Yes! Exactly. This is the kind of guidance I believe so many of us are hoping to hear during the group call. Posts like this are not often seen in the forum itself, even though these issues affect all of us who are releasing or considering releasing products. Thank you—more of this, please!
Hi,
There are many technical topics I’d like you guys to cover. However, as a musician who got into HISE primarily to develop tools for personal use—and someone still on the fence about releasing anything commercially—I’d like to propose dedicating some time to discussing the state of the audio tools business.
I understand that the main goal of these meetings is to focus on HISE’s technical aspects, and the amazing folks in the forum have been great at answering any questions I’ve had so far. But I’d be very interested in hearing you discuss the business side of things.
Looking at today’s audio tool ads, you’ll often see absurd discounts (70%-80%), even for top brands. This raises the question: is it profitable at all?
Perhaps the more experienced among us could share insights about what it’s really like. Here are some of the questions I’d ask:
I'm looking forward to the meet.
Cheers!
@d-healey yes. The project needs at least one expansion.
@d-healey in regards to the scripts-disconnected issue, I was able to trace it down to a Engine.setCurrentExpansion() call. It seems that when this is called, it moves all user scripts into a "user" submenu and then the scripts show as disconnected.
Can you please help me confirm this?
Add the code below to an external script file like the on in the post above.
Uncomment:
//Engine.setCurrentExpansion(expNames[0]);
Hit F5.
Your script menu should now have a "user" stack and the script should appear disconnected.
const expHandler = Engine.createExpansionHandler();
const expList = expHandler.getExpansionList();
const expNames = [];
//Set Default Expansion
inline function setDefaultExpansion()
{
for (e = 0; e < expList.length; e++)
{
local p = expList[e].getProperties();
local n = p.Name;
expNames.push(n);
}
//Engine.setCurrentExpansion(expNames[0]);
// this can also be:
// expHandler.setCurrentExpansion(expNames[0]);
};
setDefaultExpansion();
@d-healey @CyberGen said in Console.blink() not blinking?:
I haven't been able to reproduce it.
I take that back... I wasn't doing it correctly... I can reproduce it now.
simple test
Content.makeFrontInterface(600, 600);
Console.clear();
Console.blink();
Console.print("do you see me?");
//Move this to external file.
Console.clear();
Console.blink();
Console.print("do you see me?");
HiseSnippet 687.3ocsUssSaCDDc2PLpw8hJR8CvhmBRHHokBUpO.kboJpMPTCE02PKqmPVk06ZsdMknp9O2+f1YsCXmRDWhZ8CQYtb183YNy3AFMGRRzFBs1ISiAB8YdCmpriaMlITjdsIzW30mkXASPtqCmFyRRfPBktxGcNn0pRxd909GxjLEGJbQHmpEb3yhHgsv6fC9jPJ6xBgSDQkxdmC5w0pVZoNE4yJdMHwL9D1EvQLWZU7HzU6DJrZyPKyBIXNGpCmNbr96p77OUjHNWBNiljg3Ak6lzZrPFN3520DBgVcPwa9J4u4uxquHTbi+hJvKyBDTfnbMfV4tnTyGAknknT0bJsl2PtQDaKh33yS85ovFxHFVpKSk7bIUtf50RiYnraEwl.cMnwMHpuaiFaFf+rw688wzRzRXKtDXl5nmqcbtTnlT1QrQnr0WOTGLUmFj.PPDr+5tyve6s6quDBriEIAVc.bEdSJlLXj.w8O3JFkp3VgVEnUGosvwp5a3+C+Z9+zO3uCMZzBi4pFFsTBlEF1oBM2Ev5pznyAylAWxjovMIhso468q9v5877lSoD0pdJg83XXlcWsLz0Sc++1JExrtK9uu1qMyxbhmY9v7hAiU3nCsMbIN8kKkp40FRlX0w372szYnBWGlJY14k8t46YAv5wbZMmdRkHrSKO++HlEZbmyBOTJtl2.gkOdwbrxB3HVo9evwYaPdtWmQi.tsffU859skccw8b8eQmZEpK5yrFwUDp2QoQCwEmb.uckBj3g6Qq3TK41Mb1tJvPPElY7a7YVvlNa5rfMuNHIhwM5y34SAtcTOIyCxIU1J4Z32FP6fljrIix04Hbk4Yb97G0s.95kE3aVVf6rr.e6xBb2kE3dKKv2c+.ceQ6CoVcT9XCgzePmrUITZGECUfYpUxePQoUzR
@d-healey I haven't been able to reproduce it. I started from a clean project. But I can't get user files to stack in the way the are show in the gif.... Somehow this is al related to the user/docu/etc stack and this particular project.