@d-healey saw it in a couple places while I was using hise, just did a quick search for it so might be another version
Posts
-
RE: Sampler Bug - Notes stop pitching after certain points
-
RE: Additional project settings (as available in ProJucer) and defer samples loading until the interface is displayed
@Christoph-Hart https://github.com/christophhart/HISE/blob/2cf72ddab4374aa10fba46da539e9abb945d9470/hi_streaming/hi_streaming/StreamingSamplerSound.cpp#L885
Also looks like it's on the monoloth audio format directly, but I haven't been using monolith myself, but from the differences in our implementations that looks like where the loading issues would be
-
RE: Additional project settings (as available in ProJucer) and defer samples loading until the interface is displayed
@gorangrooves I understand, but it's sort of a bad solution to an underlying problem - that being that hise instruments take a long time to load initially.
The cause of that is not the samples loading directly, but instead the memorymapping that happens when each sampleSound is created - my solution above (to move the memorymapping and creation of the readers to another thread) resolves that, which means the UI loads virtually instantly, allowing the UI to then properly relay the information of the samples loading.
-
RE: Additional project settings (as available in ProJucer) and defer samples loading until the interface is displayed
@gorangrooves Just FYI, you wouldn't want it tied to the interface loading - that's a very backwards way of programming, the interface should just reflect the data, not be part of it.
And an example of why it'd be a really bad idea; If a project starts with plugins already saved, they wouldn't load until you opened up the plugin, a plugin UI is actually completely disabled deleted when the plugin is hidden in a DAW, or even VE pro when you select another instrument (you can test this by resizing some plugins and then swapping between different plugins in VE pro - those that haven't properly coded their ui to save the resolution in the editor destructor, like SINE [at least in a previous update, don't know if it's still like that], will revert back to the original size).
That said, I've implemented this in my own sampler though by moving the creation of the readers (and mapping the file) to a background thread, rather than in the constructor of the samplersound, which has the benefit of skipping mapping samplersounds that purged on init, saving a lot of virtual memory, definitely something that's possible to port in to HISE.
-
RE: Drag n drop flac files
@d-healey https://github.com/LightandSound/HISE-Stage/blob/d44b6d912390820c0b49e0dbb73e09c1d03ca83c/hi_tools/hi_standalone_components/SampleDisplayComponent.cpp#L392
register FLAC in the audio format manager and you're done :)
-
RE: Some additions, please enjoy.
@dustbro I don't believe anything was merged with the live branches, at least not that I know of
-
RE: Some additions, please enjoy.
@Natanr @dustbro sorry, been busy on some disk streaming stuff for my own sampler so missed this - you don't have to do anything, you just compile and it's resizable.
-
RE: Customizing combo boxes - how?
@tomekslesicki https://forum.hise.audio/topic/2620/possibility-of-changing-look-and-feel-of-custom-settings/4 if you don't mind looking at C++, but that post covers it step by step, it's pretty straight forward.
-
RE: Accessing Server API from HISE
@d-healey you can do an a cheap and dirty update approach. Juce has an easy way to read a URL result as a text string and compare it with an input string, so you can just stick a .txt file on your site (hidden of course) and literally just have the text as the version number and match it against the current version. Whenever you load the plugin it can check that result against the internal version number and display it if needed. Just means you need to remember to update the text file.
Similarly you can do this for file activation for online list of CD keys, and it helps you to be able to disable any cd keys that are chargebacked/refunded. For this you probably would want credentials though, as having a publicly available list of keys is not really ideal :p
I might implement this in to my public branch once I'm finished with this chunk of work on release triggers
-
RE: Slide in/out Panel
@Natanr Use the button to start a timer on the component, or use the timer callback on the item itself and adjust it from there.
-
RE: Decrease plugin initialization / load time
@gorangrooves Probably possible with the timer callback, just stop the timer after you're done (regarding loading after a short interval)
-
RE: Decrease plugin initialization / load time
@gorangrooves Are the samplers preloaded with samples on initial load?
-
RE: Sample based instruments of Vintage Synths- Legal Issues ?
@lalalandsynth just be careful about using their name in the title of the item. Is fine to say you sampled it, but calling it the same thing is a nono. Ie, if you sample a steinway and call it "Bob's piano" that's fine, but not "Bob's steinway".
-
RE: Any point in standalone apps
@lalalandsynth For me personally, no - however I base my development around what support tickets I've gotten - the ui scaling and downloader were only made because of issues I've had with continuata and kontakt not being resizable (our concert grand ui was considered too large, while the chamber strings too small).
I don't really mind too much when I'm making purchases because I'm just interested in the sound and playability I don't care much for the rest since if you're event a slight bit tech savvy, music production is really quite easy.
In terms of standalone, that was more an issue for people I wasn't even aware existed as a market when I released the piano, people who have nothing to do with composing at all or even performing, just people looking to practise piano inside or while travelling etc. So for pianos it might be important, for an orchestral library or a synth? I imagine not...
That said, I have messed around with SINE a bit, and having it as a standalone can be fun to quickly mess around - so even when it's not essential, it's a nice thing to have!
-
RE: Any point in standalone apps
@d-healey I regularly use a piano standalone app when I'm just playing for pleasure. I know a lot of others that do this too, for anything recording related naturally a daw is miles better, but sometimes you just need a quick test rig rather than loading up a daw and possibly a template
-
RE: Custom LookAndFeel drawRotarySlider need C++ help...
@ustk assuming you mean the lower text section, I believe it's added with https://docs.juce.com/master/classSlider.html#ab6d7dff67151c029b9cb53fc40b4412f, so just noTextBox for that.
-
RE: Some additions, please enjoy.
@coreyu21 The downloader I added will automatically unzip any .zip file to the folder its downloaded to, then once unzipped remove the zip file. For this reason, I'd recommend instead not using the installer (disable the flag) and just zip up the sample files and link to those. That way the user literally just loads the plugin (or app), hits download and it will take care of the rest. You don't need to locate the samples either, the download button will do that too (but leaving the option to relocate should they want to move the samples later).
(Zip files can contain folders, so you can zip up your folder structure for it to also keep that intact)
-
RE: Custom look and feel per component
I'm currently testing this with sliders by adding a new method to the slider class (so just declare the slider and then slider.setLAF(lafObjectName))
This is basically how you do it in JUCE anyway so it feel familiar. It doesn't interfere with HISE this way too, although I quite like being able to change the HISE font :p the only downside to doing it this way is that you'd have to manually add it back in to each object you want to use it for (buttons/sliders/comboboxes etc) which doesn't blend well with the current functionality of globalLAF...
-
RE: Libraries > Core
@hisefilo I think learning how to read the JUCE api is far more valuable than any of the videos - I did check some out at the start, but I didn't find them too helpful, I knew C++ (a bit) I just needed to get used to using the API, once you understand the API and the practises in JUCE (there's a lot of things in JUCE that effectively replace "standard" practise C++ things, even down to some specific pointers and Arrays not being C++ arrays), so once you can just look at a class on the API and know how to implement it you'll feel a lot more comfortable.