Introduction To Scripting in Kontakt, Teil 4

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. Part 4 covers interface basics. Read the next part on The Hub tomorrow!  

So letzte Mal sahen wir uns an Variablen. In diesem Teil wollten einen Blick auf die Grundlagen einiger Schnittstelle Zeug haben.

Die Fähigkeit, eigene benutzerdefinierte Schnittstellen in Kontakt zu entwerfen wirklich unterscheidet ihn von anderen Software-Sampler. Jedes Instrument, das Sie machen können entwickelt, um Ihnen oder dem Benutzer einfachen Zugriff auf wichtige Parameter für die Feinabstimmung, ohne in den internen (und manchmal entmutigend) Funktionsweise der Kontakt zu vertiefen geben.

Es erlaubt Ihnen auch (oder dem Entwickler) eine Chance, einige künstlerische Gestaltung Funktionen auf Ihrem Gerät, indem Sie benutzerdefinierte Grafiken und Elemente der Benutzeroberfläche zu stempeln. Jede Bibliothek, die Sie kaufen (und Kontakt ist in der Bibliothek gebaut) hat seine eigenen einzigartigen Look und Feature-Set. Dies ist alles auf Scripting.

So, wie Sie dies tun? Nun, Ill zeigen Ihnen!

Erstellen Sie eine Performance View

Das erste, was Sie tun müssen, um jede Art von Oberfläche zu erstellen, ist ein Performance View erstellen. Dies geschieht mit Hilfe einer sehr einfachen Codezeile zwischen Ihrer init ... enden Rückruf.

make_perfview

Sie müssen auch eine Höhe eingestellt. Die Performance-Ansicht kann auf zwei Arten gemessen werden, im Grid-Modus oder Pixel.

Mit Grids

Im Grid-Modus die Performance View ist in sechs Spalten aufgeteilt. Jede Spalte kann bis zu 16 Zeilen haben. Jedes Gitter Block hat ein Raster-Koordinate. Spalten 1-6 und Zeilen 1-16. Unten sehen Sie diese Grid-Blöcke und ihre jeweiligen Koordinaten.

Grid Mode


Um die Höhe im Raster Mengen müssen Sie den folgenden Befehl hinzu gesetzt.

set_ui_height ()

Zwischen den Klammern youll fügen Sie die Anzahl der vertikalen Zeilen, die Sie wollen. Dies ist ein Vielfaches von zwei Zeilen oder eine Reihe von 1 bis 8 eingestellt. Dies liegt daran, eine Standard-Knob ist zwei Zeilen hoch.


Also, wenn wir wollen unsere Leistung anzeigen acht Reihen hoch wären wir 4 in den Klammern hinzuzufügen.

Code Example 1


Wenn Sie auf Übernehmen youll Ankündigung traf die Skript-Editor erweitern wird. Dies liegt daran, alle Steuerelemente, die Sie erstellen, sind auch sichtbar in der Skript-Editor, so dass Sie sehen können, was du tust.

Expanded


Wenn Sie aus der Instrument Editiermodus youll kommen auch sehen, dass die Kontakt-Schnittstelle wurde von der Standardgröße weg ...

Default size


zu einer erweiterten Version auf dem Rasterhöhe Sie basiert.

Expanded


Sobald youve erstellt einige Steuerelemente youll legen Sie diese mit Gitterkoordinaten. Mehr dazu später. Für die folgenden Beispiele im going to Grid-Modus verwenden.

Verwendung Pixels

Zu sagen, dass können Sie auch Ihre Körpergröße in Pixel (Kontakt 4 und höher). Sie tun dies mit ..

set_ui_height_px ()

Dies ist nützlich, wenn Sie einen grafischen Hintergrund arbeiten und brauchen die Kontrollen an der Pixel-Ebene platzieren. So setzen eine Höhe von 250 innerhalb der Klammern wird Ihre Arbeit Bereich 250px hoch.

set_ui_height_px (250)


Height of 250px


Beim Verschieben von Steuerelementen, werden Sie dann Pixelwerte, sie zu platzieren. In Kontakt 5 die Performance View wurde von 350px in früheren Versionen 540px erweitert worden.

So, jetzt haben wir einen Bereich mit lets make paar Sachen zu arbeiten!

Etwas zu verzollen?

Um eine UI Kontrolle oder Steuerung der Benutzeroberfläche erstellen wir zunächst brauchen, um es zwischen unseren erkläre init Rückruf. Dies ist das gleiche, als wenn wir erklärten unsere Variablen letzten Zeit. Ein großer Teil der Grund, warum wir dies tun, ist, dass jeder Kontrolle übernehmen wir eine Variable name zugewiesen wird, damit wir sie in unserem Script verweisen kann.

In Kontakt gibt es eine Reihe von UI-Steuerelemente, die Sie erstellen können. Jeder hat seine eigene Rufzeichen, beginnen alle mit dem Präfix UI_. Diese sind:

  • ui_knob - A default rotary dial.
  • ui_slider - A default slider / horizontal fader.
  • ui_label - Simple text label
  • ui_button - A simple button
  • ui_menu - A drop down menu
  • ui_switch - Simple on/off switch
  • ui_table - Useful interface for sequencers and arpeggiators
  • ui_file_selector - For selecting and loading files
  • ui_level_meter - A simple audio level meter (Kontakt 5)
  • ui_text_edit - Enter user text
  • ui_value_edit - Enter a user value
  • ui_waveform - Add a waveform display of a zone or slices (Kontakt 5)


Um ein Steuerelement erstellen verwenden wir den folgenden Code. Für einen Standard-Knob wird dies ...

erklären ui_knob $ ( , , )


Youll finden jedes Steuerelement erstellen Sie einen anderen Satz von Parametern. Zum Beispiel ui_label hat zwei Parameter für Breite und Höhe, die im Raster Mengen festgelegt werden.

erklären ui_label $ ( , )


Definieren von Parametern

Das erste, was Sie tun müssen, ist geben Sie Ihre UI-Steuerelement einen eindeutigen Variablennamen. Sagen wir wurden eine Standard-Knob. Ich könnte es myKnob.

erklären ui_knob $ myKnob ( , , )


Jederzeit Ich möchte diesen Knopf benutzen, um etwas, das ich verweisen $ myKnob tun.


Ich muss nun die Parameter einzurichten. Mit der Standard-Knob Ich habe drei.


min = Der Minimalwert

max = Der Maximalwert

Display-ratio = Dividiert den Bereich um die Anzeige Zahlen zu vereinfachen


Mit dem folgenden Code erzeugt eine Standard-Knob, die von 1 bis 100 in 100 Stufen (100/1) geht.

Code Example 2


Dies wird nun auch in der Performance View.

Knob


Fügen wir ein Label. Ill Namen es myLabel.


erklären ui_label $ myLabel ( , )


Ill auch seine Breite und Höhe in Netzmessungen gesetzt.

Code Example 3


Das gibt mir dies.

New Label


Youll finden Sie alle Informationen über die verschiedenen Parameter in der KSP Reference Manual in der Benutzeroberfläche Bedienelemente Kapitel.


Verschieben UI Controls


Es gibt eine andere Gruppe von Elementen als User Interface Befehle, die da sind, um Ihnen helfen, manipulieren Sie Ihre UI-Steuerelemente. Einer von ihnen wird als move_control ().


Dies hat drei Parameter.


move_control ( , , )

  • variable = The variable name of the UI control you want to move.
  • x-position = The horizontal position in grid coordinates.
  • y-position = The vertical position in grid coordinates.


Nehmen wir an ich will myKnob unten myLabel bewegen. Ich kann dies, indem Sie den folgenden Code zu tun.

Code Example 4


Dies wird es der erste Spalte, zweite Zeile zu verschieben. Sie können auch move_control_px () und ersetzen Sie die Grid-Werte mit Pixelwerte.

Moved knob


Benennen Sie Ihre Steuerung

Derzeit haben sowohl unsere Knob und Label werden standardmäßig mit ihrer variablen benannt. Dies ist einfach zu wechseln mit einem anderen User Interface Befehl namens SET_TEXT (). Dies hat zwei Parameter.


SET_TEXT ( , )

  • variable = The variable name of the UI control you want to change the text for.
  • text = The replacement text in quotations.


Ive hinzugefügt SET_TEXT (), um meine beiden Bedienelemente wie diese ..

Code Example 5


Heres das Ergebnis.

Relabled button


Ich hoffe, Sie können sehen, wohin das führt. Wir erklären und richten unsere Regelparameter und dann weiter zu manipulieren die Kontrollen mit nützlichen vordefinierte Befehle (siehe Kapitel Benutzeroberfläche Befehle in der KSP Reference Manual).

Das nächste Mal auch fügen Sie einige realen Welt Funktionalität einiger Steuerelemente. Welches ist, wo der Spaß beginnt!

Sie können die Code-Beispiele in diesem

Nützliche Links

Introduction To Scripting in Kontakt, Teil 1

Introduction To Scripting in Kontakt, Teil 2

Introduction To Scripting in Kontakt, Teil 3

Introduction To Scripting in Kontakt, Teil 4

Introduction To Scripting in Kontakt, Teil 5


For the past 20 years Toby has worked as a professional guitarist, programmer and producer. Clients include Sir Paul McCartney, George Michael, Shirley Bassey, Yusuf Islam, Giles Martin as well as the London 2012 Olympic Ceremonies. He has also worked extensively in TV, Advertising and Film. As well as composing himself he has also ... Read More

Discussion

Want to join the discussion?

Create an account or login to get started!