I'm sure you guys know the situation... creating software for different platforms requires multiple computers. Not only do you need a Mac and PC, but you need multiple versions to test different operating systems and software updates. A few years back, I got tired of switching between multiple computers to get the job done, so I created triple boot PC/Hack/Linux machine. It works well. No complaints. Then I decided to upgrade my GPU to an RTX3090 for faster 3D rendering. It's quite a beast! The issue is MacOS does not work with Nvidia chips, so every time I wanted to boot up macos, I had to unplug my GPU. I also started to get annoyed by not being able to use multiple OS at one time. Powering down MacOS to use Windows can quickly get old.
Since I'm relying heavily on virtualization to run my mini datacenter, I took a shot at creating a virtualized workstation. The result?
One computer that simultaneously runs Monterey, BigSur, Win10, Win11, Linux desktop and Ubuntu server!
I'm still in the testing stages, but it's working wonderfully. I've successfully exported plugins from HISE on each platform.
The system is running on Proxmox. Not to be confused with things like VirtualBox or Parallels (which are type 2 hypervisors that run on top of an existing OS), Proxmox is a type 1 hypervisor. That means that your computer's actual hardware is divided up and given to each virtual machine.
Since the allocation of hardware is sectioned off and given to a Virtual Machine, that means you need a computer with a bit of horsepower to use multiple operating systems at the same time, but you may already have what you need. Or worst case, You only run 1 OS at a time with full resources.
By using some utilities like VirtualHere (share usb over ethernet) and Barriers (use one mouse/keyboard to control multiple computers) I'm able to use one set of hardware resources (usb sound card, dongles, etc) and share them with each computer. Each system sees the devices as if they are actually attached to the computer. No layer in between. The only downfall is since it's "directly attached", you can't share your sound card with multiple machines simultaneously.... I'm mean, that sounds like a nightmare anyway! hahahh
Right now, the Mac virtual machines feel like they have a little bit of lag, so I'm going to have to install a GPU for those machines to use.
If you guys are interested, I can post some details on building a machine like this.
Best posts made by Dan Korneff
-
The ultimate multi-platform workstation
-
RE: vu meter
It looks like you're trying to hook up a gain reduction meter to a dynamics module.
here ya go! in 13 easy steps
I'm using "right click" auto complete as much as possible.#1 - Add Dynamics module
#2 - Create a reference to the module
#3 - Create a slider and add reference
#4 - create a timer
#5 - Create function for timer
#6 - create variable to hold a reference of gain reduction
#7 - convert reduction to dB
#8 - set value of slider to gain reduction
#9 - set slider mode to decibel
#10 - Start Timer
#11 - test that reduction meter is working
#12 - set slider image to your strip
#13 - test that strip is working
-
RE: The definitive feature request & bug fix roadmap
I would love to have SideChain inputs available in the bus routing.
https://docs.juce.com/master/tutorial_audio_bus_layouts.html
-
RE: Linking parameters to SNEX
Finally had a second to make a quick video. I apologize for the poor quality and zero planning... but you get the idea
-
RE: Simple ML neural network
@Christoph-Hart oh shit! There goes my weekend plans. R.I.P my marriage
-
RE: Still getting heap space problems
I just ran into this when opening older projects on my new rig. Images and binary are way below 50mb.
Did a little searching and found that this may happen if Visual Studio doesn't use the 64 bit toolset. I think it's some kind of global change between VS2017 and 2019.
Manually setting the architecture in Environmental Variables fixed the problem for me.
https://phoenixnap.com/kb/windows-set-environment-variable -
RE: Happy New Year Everyone!
:person_cartwheeling_medium-light_skin_tone: :person_cartwheeling_light_skin_tone:
Latest posts made by Dan Korneff
-
RE: Hardcoded Neural Network does not work as expected
@tomekslesicki same is happening here. Looks like there's an incompatibility with the latest CUDA driver. I'll have to tweak that
-
Equivalent to Reaper UI button?
Reaper has a button that can change any plugin GUI into a simple slider based interface.
Is there an easy way to recreate this in HISE? I have a bunch of panels that contain components and it looks like it's not possible to dynamically change parentComponent and place all controls in a single panel.
-
RE: Hardcoded Neural Network does not work as expected
@ccbl I'm still working on the scripts, so they aren't 100% yet. Feel free to dig around and see if you can trace the issue.
-
RE: AAXVersion.h missing, build failed
I don't remember it being too hard to setup. I'll boot up a virtual machine and run through the process to see if I hit any issues and post the results here.
-
RE: Getting copy protection to work...
@Christoph-Hart said in Getting copy protection to work...:
spent a few hours setting up his own server
@Christoph-Hart I think you meant a few months
@Morphoice It was no trivial task and took quite a bit of time to design and setup. In the end, I made a fully wordpress integrated license manager that uses the unlocker.
I'm not sure how much I can share on how to do it cause it involves many tasks that are beyond the scope if HISE, but I suggest starting with the basics.
If you need something that works and you don't want to deal with bug fixes and webserver security concerns, I'd 100% go with HISE Activate.
If you want to DIY a solution, use a preexisting License Manager available for your platform, and then creating a script to send the end user their encrypted license file.
I'll answer any questions you have. -
RE: How to get CPU serial number using HISE?
@Christoph-Hart said in How to get CPU serial number using HISE?:
Your copy protection system must cope with the scenario that computer IDs can change though.
My protection system and I are in therapy. Hopefully we can cope soon.
-
RE: Anyone here using Cyberpanel for their website?
It's been a shit show the past couple days.
I've been testing their platform, but thankful I went with FastPanel for my webserver. -
RE: How to get CPU serial number using HISE?
@Christoph-Hart is it possible to have access to more parameters on the system ID generation?
I'm getting system ID changes when people perform OS updates, but there seems to be ways to only use the CPU/Motherboard to generate the ID instead◆ getUniqueDeviceID() static String SystemStats::getUniqueDeviceID ( ) static This method returns a machine unique ID unaffected by storage or peripheral changes. This ID will be invalidated by changes to the motherboard and CPU on non-mobile platforms, or performing a system restore on an Android device. There are some extra caveats on iOS: The returned ID is unique to the vendor part of your 'Bundle Identifier' and is stable for all associated apps. The key is invalidated once all associated apps are uninstalled. This function can return an empty string under certain conditions, for example, If the device has not been unlocked since a restart.