Thought I'd chip in with my getting started day today for those considering with little to no coding background as there are a few terms and things to get your head around before even opening HISE (Xcode, IPP, compiling, JUCE, GitHub, repository) and pretty much all of them were unfamiliar to me.
To access the latest version of HISE you need to download the source code from GitHub and then compile the code to create an executable application version of HISE (correct me if I'm wrong). This isn't too difficult to do, but a little daunting if you've never done this before. On mac OS you need XCode and recommended is Intel Performance Primitives (IPP). I think a reasonable analogy would be writing an essay in Microsoft Word being writing the code, and our 'executable' being a physical book version, with printing being the compiling and the printer being XCode... maybe?
What is compiling? @d.healey &
@chrisboy please feel free to chip in with a better explanation but here is an
explanation from Reddit that seems ideal:
"As you may know, everything in a computer is represented by a series of 1's and 0's (which themselves represent high and low voltages on transistors, but that's a topic for another time). When the computer runs a program, the program itself is made of a bunch of 1's and 0's.
However, since we still need humans to write our programs, putting everything in 1's and 0's (called machine language) would be very difficult. So we made higher level languages like Java and C# to write code in. These languages look a lot more like English, so they're a lot easier to write and maintain.
When you compile code, the compilor (usually another program) takes the program the human wrote, and converts it into the program the computer can understand (i.e. converts from Java to machine language). The very short version could be, yes, compile means to make the code executable."
So at present the latest and most up-to-date version of HISE is presented in source code and you need to follow the
steps helpfully presented by David Healey here to compile before you even open HISE.
So you get SOURCE CODE > COMPILE (via steps linked above) = then you have HISE to open
Downloading XCode: Requires an Apple developer account which is easy to set up -
https://developer.apple.com/xcode/
Downloading IPP: Requires an Intel account which is also easy to do. One thing I'm not sure of is what elements of this need installing. Will do a it more research once I've got Mojave installed tomorrow.
How they all communicate I'm not too sure from a complete layman's perspective - my understanding is XCode is a development tool, or an environment for multiple development tools, in which to create apps for the Mac OS and OSX platforms, and when compiling HISE this is used to do just that; it's part of taking the HISE source code and creating an 'app' form on Mac OS and OSX.
GitHub: My understanding of GitHub is it's a website where people can share code and projects easily, including versions and stages of development of the projects making it especially easy for people to collaborate and/or build on other projects especially open source ones. One thing I'm not sure about is what 'git' is? I know what it refers to here in the UK, but not in the coding sense... If anyone could chip in with what the 'Git' in GitHub means that would be cool.
Repository: I think is the term given to a location where code is stored, maybe just like a folder, but specifically for containing core code? Anyone able to clarify that more for us laymen?
- - - - -
The following is very specific to me, but thought I'd share in case it's helpful to someone else and only really applies to anyone running an old mac; I have a 2012 Mac Pro running High Sierra. This limits me to older versions of XCode and IPP.
The latest version of XCode is only compatible with a minimum of Mac OS 10.15.2 onwards, so it's a no go for High Sierra. It seems XCode 10.2 can be used in High Sierra with some editing of XCode files which makes things even more fiddly. It seems relatively simple to install older versions of IPP, but I figured going round-about-ways from the start isn't ideal for something potentially so crucial so after looking at ways to install older versions of XCode and which ones are okay for High Sierra would recommend unless you really, really have to, probably a good idea to err on the side of upgrading whatever you need to to get Mojave+ (8 years has been a mighty fine run for this ol' machine), though maybe
@chrisboy could clear any of that up i.e. any issues using older version of IPP or XCode to compile?
That leaves updating Mac OS to Mojave which can be done on Mac Pro 2012s with the right graphics card,
see here. I've ordered the Sapphire Pulse Radeon RX 580 to install which means Mojave is, or at least was until recently, officially supported (I think however Apple don't officially support Mac 2012s running Catalina).
Of course 8 years is a long time to have a machine and there are other things cropping up requiring later versions of Mac OS so it's probably about time to upgrade anyway, but seems the graphics card upgrade might get another couple years out of it. And going back 15 years a computer older than 6 months was basically ancient so it's good times.
Coming from a place that isn't familiar with GitHub, repositories, XCode etc, thought I'd write a little something about them with the hope those who are familiar with them might help clarify any definitions and explanations to make it all more accessible to the laymen.