@Bicrome no, in HISE - open the project without loading the hip or xml, create a new scriptfx, load any network and then recompile all networks with the export menu
Posts
-
RE: HISE would crash when compiling ScriptFX network and now when trying to load project after reinstalling to the latest version on Windows.
-
RE: HISE would crash when compiling ScriptFX network and now when trying to load project after reinstalling to the latest version on Windows.
@Bicrome I had the same issue yesterday. What helped was that I recompiled the networks with the latest build before opening the project.
-
RE: Buttons don't update plugin parameters
@d-healey no, meta is only for components that are declared as plugin parameters. In the snippet I shared, the button has save in preset enabled, but is not a plugin parameter, only the slider is
-
RE: Buttons don't update plugin parameters
@Christoph-Hart thank you, the buttons are working now! The only thing that is still not working is changing the slider's value with the button's callback - the slider's DAW parameter value is not updated. Here's a minimal snippet to demonstrate this:
HiseSnippet 894.3ocsV0saaaCElxIZX1aqacnO.B8J2ghB65X2DTLTu3jzYrkTg4tfsqZYnNxhHTjBjToyXnua6QpuAsGJIGI05tlYr5KLv4+Od324PEpULvXTZhWumuJCHdes+hURaxrDJWRleDw6V9mRMVPGTp5vUYTiAhHdd67TmBut6RJ98lmbHUPkLnVEgbthyfekmxs0ZCm9Kbg3DZD7bdZCu2a5blRNSIT4Hd1we.IixtjtDNi5bqiO4molDh2O3OIZzAiGSmv1a7nngwCF7vw6Og9nI6GOBFMXLcLbvACGGe.w6KNNhaU5EVpELDucOTEsZQh5UxxBbN2vuP.NggjEXkKUehRD4NhNsjYIbQT35FkgfYIrtssSYa6N9mxi3Wqut88cEFBpinYCzqSa3sSK3MrI7Fz.da.RdMfztkP519KXZdls1hCOek+bIdaFSw6olPozWRmuui+LE5gz9fT5kvIZT35H5OYvf6Gf+cuG2qGdWYrAWQ0AkwdXt0pjCC9wf0IXIXmoRyTRTn+ca40c2TFVH3Qf9SkgJuJxPOtTvkPPbtjY4JYfR1pLt7nUh9r0I49X4D4v8582851JcOv.1ycl5W5viee6rDpbID0Gs7Zrx2nynKoUPXFUHt.oy82LBwr13LblxBOS1u.k8dcuf22Tb7FsUkKAn2nY2zl9eKv9x7zK.cydjyQjQ0ll5+wooMmhXksnFNpjykb6yx.4Ga1hT0WcT5JTgtZKHz2xuYmivQd621R0PRAvat+g76yOhZoqSGlYrZYf1xcGDuifqv8SkyKc8OBLWZUY3plquRwMH23h+WWW3+Y4zU0nfO8U7HaRsh+bZBvWlXapgznjcaWxRFXqRVQJaTxWZ9OWRtITjujKCoZbAKNhiMjNYsUUt5EQhfytLvThDC8JXtLTCH81s6f7gKev0dpnbA01dWn6EiJCHyq0BH2RFogaW07Ek+2VPdSg3s8C4VVxlwXmMfQjY84.iUOq7M9GGGCLaM.20+j+3yyaHjeSka4xkmRsZNRr7OKOcA9TLCvpKkfvM460wMiVJOvI65.K.YTgvaweUFG5j8pLNbsQRJkoUufUNY6d35KKzfXRVvz5hesAJGrgQ4T7czWvXsS0GD3C21.GssAt21F33sMvIaafOZaCb+OcftOy4mxspzxwFB4zviKV854crjhLvB1J4c.eM49r
-
RE: Buttons don't update plugin parameters
Hey @Christoph-Hart could you please take a look at this? Thank you!
-
RE: Buttons don't update plugin parameters
Ok, I tested it with the snippet built as an instrument plugin and it's the same. Further testing that might be helpful:
- there's a button that has isPluginParameter enabled
- when the plugin is loaded, and I adjust the plugin parameter instead of clicking on the interface, the button responds to change
- when I click on the button on the interface, the button responds properly, but its plugin parameter is not updated
- when I adjust the plugin parameter after clicking on the button on the interface, the button no longer responds to automation - it does respond to clicks on the interface, though
-
Buttons don't update plugin parameters
Tested in Ableton and Reaper, but I guess it's most likely happening in other DAWs, too. This is with an FX plugin, I haven't tested with instruments.
When clicking on a UI button that's enabled as a plugin parameter, the button callback is executed properly, but the plugin parameter's value is not updated. This is regardless of meta parameters and radio groups, I tested it with these on and off.
The buttons also don’t respond to being changed from the DAWs plugin parameters. The plugin parameters that are supposed to be changed by buttons' callbacks don't get updated either.
Sliders work fine.
@Christoph-Hart I'm sure you can solve this!
Here's a minimal snippet - it needs to be built first, of course - but it's not anything ultra clever, just a slider and button set as plugin parameters...
HiseSnippet 791.3ocsU0saSCCE1tqYZs.iMId.xkanIT+acqhKnz+fJnaQjwD2M7bbZrZhcThyFUHd21iDuAfcRZSKKqqqRjKp54+Oe746Xi.NlDFxC.vxWL0m.fOWybJS3z0AQYfg8.vc0FgBEj.8DUcl5iBCIV.HbqOnT.KUDD+8620A4hXXRlJ.3RNES9L0iJxzZz9STW2AHKxETuE7tQ6gXNqK2kGIwyVZU.9H7DzXxYHkaEz.eDE5.fuV63Z0wMrNwpVsia0DiZRZYirsqV2pQilm1pZ8VnFm1jT4X.b69VTAOvTfDjPYR6vslZ5vukkTfKogzqcIJgp.SYkSTC55PcsLl0bBA.XQirV0VIspWoMhZQmqOqksWrA8rHVroAKrJHU8I.I3BPpXBj1WyDGP8EYVT34YZCYxaPaj7tYQnj3K.dmVWtzAl3MdnIjAARg4AbPyJUNRW9ygu0NhgETNSmyNiKHmyN3vx+rbox+pr9+Zx1NWapxDvccIA4ZVMNDrp.OfE4cMI3H8aPtQj4NJO9K2S2d85o3jS8BNxYCYTw49jT4AbWKUuR8+6eC.Raax6hBoHT5pH9lX2zahNQBAmAnxj7xkTUEDeHVjr.dnjX5RsHAKkjDU4kjuNrGRfTyGovSBYeRffp5LvdjajLxjokRZ8HgSDb+X764yYpCCbm09D7i4E9twsmlgBZ6aoVBIUUCZIEcHzwNhYR9tQioLCTfjUKGxRH26IGA4t59yzBngFK6mD6E.OLJWQKJCkeObsQYt0OWnKQfKEOQOLAAf6yJk6C3VQtHwxKITqOSMHmxWhYpnerPpX5hqWeBaNprxMGqKD2WyfJvN4iwB4fQEQ3+.FS229Bs911DrHCfE0F7sMc45iT9uviDT13QHQ.UN.ocVjmo7cILQVcFi3FpFTJn3rIxUTxpNfIgYEK7G4WpwpJYXpwpyLB7P3.9U3DRuZi9NwZjXhEOYUR9zqTVOGVtm7Alqv3kS08Br1lFX8MMvFaZfGuoA1bSC7jMMvSe7.Uu++9HA2Kg1..iL5GuUFB6yPxIv3oUveEHoWlM
-
RE: Do something only when automating?
I just figured out I can actually do this by checking the button’s value on the knob’s callback and just if it from there, which would be a much simpler solution I guess
-
RE: Do something only when automating?
@Christoph-Hart thanks! In this case, I have a bunch of buttons that control stuff - isPluginParameter is disabled for them. I want to add a slider, which would be plugin parameter enabled, and would set these buttons depending on it’s value (slider at 0 - button 0 on, slider at 1, button 1 on, etc.).
The end user never sees the slider, it’s only there to automate the button states. The buttons are displayed on the interface, though, and they should update the slider’s value when they’re interacted with - button 0 on, slider value set to 0.
What I actually want to achieve is to prevent creating a loop where the button state fires its callback, and changes the slider’s value - which then changes the button’s value, and fires the callback again, and so on. So my idea is:
-
button pressed on the interface a fire button callback, and set the slider’s value
-
slider automated - change button state, but don’t set the slider’s value again (and don’t call it at init)
-
-
Do something only when automating?
Is it possible to know when a parameter is being automated by the DAW, and only execute it's callback then? Ideally, with some simple logic like:
Not automated - do something
Automated - do something else
Thank you!
-
RE: Feature Request: Crossfade in Audio Loop Player
Yes, plus 1000 for the crossfade!
-
VST3 Module Error?
Ok, so I have a plugin built with the recent version of Develop. Everything is working fine, macOS, Windows 11, you name it. Except for one person who reported that the .vst3 version can't be loaded into Cubae, PluginDoctor, Audacity, or basically any other host on his machine. I tested it on three different Windows computers, it's working fine everywhere I test. I can't reproduce the issue anywhere, I had people beta on Windows, too, and nobody has reported anything like this before.
He just sent me a screenshot of the error message he got in Audaicty, and highlighted a typo in the error message (is this a HISE typo or an Audacity one - I have no clue). Did anybody experience something like this before? Is this an issue that somehow slipped through Christoph's eagle eyes?
-
RE: HISE FX and delay compensation
@Christoph-Hart because if I remember it correctly, what's actually happening is the DAW bounces the file at the currently set (preferences) sample rate, and then converts the result to the target?
-
RE: HISE FX and delay compensation
@Christoph-Hart is this broadcaster supposed to fire when audio is converted to a different sample rate during bounce? I'm testing in Ableton and Reaper so far, and in both DAWs, rendering to a lower sample rate is triggering the broadcaster.
-
RE: HISE FX and delay compensation
@Christoph-Hart could you please tell me how should I call this then? I'm new to broadcasters!
-
RE: HISE FX and delay compensation
Is this the correct logic?
// Broadcaster definition const var SampleRateBroadcaster = Engine.createBroadcaster({ "id": "SampleRateBroadcaster", "args": ["sampleRate", "blockSize"], "tags": [] }); // attach to event Type SampleRateBroadcaster.attachToProcessingSpecs(""); SampleRateBroadcaster.addListener("sampleRate", "blockSize", function(component, event) { Console.print(Engine.getSampleRate()); });