Вот что написал создатель Head Case - Кен.
There was a number of languages used for Head Case, even Java and VBScript were used. In fact all the external Curves were made using VBScript, whereas the Virtual Amp Stash app was created using Javascript.
BUC (The head case programming pre-processor language) was done in VB with calls to DLL files made in C++.
The Head Case Script IDE was made in VB and C++.
So there are a lot of languages at play and we simply chose the best ones for the job. We chose to use SM
because it saved us from having to deal with the Steinberg VSTGUI and allowed us to audition things on the fly. The auditioning was really what sealed the deal for us because we could hear instantly what was happening with the assembly language we were writing. Assembly was a very important factor for us because of the speed.
There was a lot of limitation in SM however, so we probably diidn't save much time in choosing it. We thought it would save us a ton of time because the GUI portion was so fast to make in SM (Wrong).
I think however, by version 3 of Head Case we will remove using SM for it. This is because the plans we have for version 3 just cannot be done in SM, or FS so we will need to do that with C++ and probably CINT as an internal scripting language. The idea in version 3 is to be able to go into each component and hand code it. So where you select a curve now, you will be selecting curve scripts in version 3. You would also be free to write your own in place. Same thing with the filters and interactions. Think of the VB 6 interface where you simply draw a button on the screen then you code that button by double clicking to get inside it. That would be what this will be like. You would add a knob to the project and then double click to access the properties of that knob. Code, image, min, max, etc are all properties of the knob.
CINT can be statically linked, so all the internal scripting for curves and such will be c++. This means that you can go to places like Music DSP to get ideas for your code and learn. HC will simply be your test bed in this case.
This of course all depends on whether Head Case gains thesupport it requires. If there is no interest from people to learn some basics on how sims (and virtual amps) work, then there really is no point.Instead we would move on to something that people are interested in. However, if that means making a
standard, simple, boring, suite, then I will retire, ha-ha
Anyways hopefully you found that informative and if you guys have any further questions I'd be glad to
answer them.
Ken...
Перевод:
При создании Head Case было использовано много языков программирования, даже Java и VBScript. Например, для создания программы по обработке и созданию сторонних кривых (Curves) использовался VBScript, а для приложения Virtual Amp Stash использовался Javascript.
BUC *англ. (The Head Case programming pre-processor language - предпроцессорный язык программирования для Head Case) был создан с помощью VB (Visual Basic), но с посылами к DLL файлам (к динамическим библиотекам), созданых с помощью C++. Среда разработки скриптов для Head Case (HC Script IDE) была выполнена с помощью VB и C++.
В общем, здесь есть некий простор и для нашей работы мы просто выбираем лучший язык. Мы взяли SythMaker (далее SM) для того, чтобы не заморачиваться со Steinberg VSTGUI, а также для возможности прослушивать всё на лету. Для нас это очень важный аспект: нужно было сразу прослушивать происходящее там, где был использован ассемблер. Он был просто незаменим ввиду того, что написаные на ассемблере программы более быстрые.
Но как бы там ни было в SM много ограничений и с его помощью нам не удалось сохранить время. Ведь мы думали, что сделали бы всё очень быстро, поскольку, якобы, в SM было легко создавать GUI. Но как мы ошибались!
Кстати, я думаю в 3 версии Head Case мы откажемся от SM. Поскольку то, что мы планируем к 3 версии, неисполнимо в SM или в FS. Мы притворим это в жизнь с помощью C++ или, возможно, с помощью CINT'а, как встроенного скриптового языка. В 3 версии мы хотим сделать так, чтобы была возможность зайти в
каждый элемент и самому запрограммировать его. В данный момент вы просто выбираете кривую из списка, но в третьей версии вы будете выбирать "Скрипты кривой". Также у вас появится полная свобода для написания своих скриптов не только для кривых и фильтров - вы сможете программировать поведение цепи в целом.
Вот как это будет выглядеть: интерфейс VB 6, там вы просто рисуете кнопку на экране, затем, двойным кликом вы программируете её, добавляете картинку, изменяете свойства, область действия (параметры min, max), то есть контролируете каждый аспект.
Также будет присутсвовать постоянная связь с CINT, т.е весь внутренний скриптинг для кривых и прочих вещей будет написан в C++. Это означает то, что вы можете зайти на Music DSP и подсмотреть там идеи для вашего кода. В этом случае HC будет простой рабочей лошадкой.
Но все это будет лишь в том случае, если люди захотят выучить принципы работы симуляции, в противном случае это не рентабельно. И это будет плохо - вместо того, чтобы продвигаться дальше мы снова будем насаживать людям эти стандартные простые и скучные наборы. И тогда я уйду в отставку, ха-ха
Если вы сочли эту информацию полезной, если вы ребята имеете ещё какие-либо вопросы, я буду рад ответить на них.
Кен...