So letzte Mal sahen wir uns an einige grundlegende Rückrufe, nämlich "auf init", "on note" und "on release". Wir sahen, wie Platzierung einen einfachen Code zwischen diesen Rückrufe gedruckt einige Nachrichten lassen Sie uns wissen, unseren Code arbeitete.
Dieses Mal wollten etwas bauen! Ich bin sicher, youve alles gesehen Heavyocitys Schaden und Evolve Instrumente. Eine der coolen Dinge, die sie haben, sind Note getriggert FX. Well Im werde Ihnen zeigen, wie Sie ein einfaches Skript, dies zu tun, wie ich ihr etwas, dass die Nutzer gerne tun würde denken, zu bauen. Lets go!
Der Plan!
Heres, was waren nach. Sie laden eine Reihe von Insert-Effekte und Bypass ihnen. Sie ordnen Sie die Bypass-Parameter für jeden Effekt zu einer Notiz. Wenn Sie einen Ton zu treffen, ist die Wirkung entsprechend diesem Sinne aktiv ist, wenn Sie die Taste loslassen der Effekt umgangen!
Um dies zu erreichen, müssen wir zuerst über Aussagen zu lernen.
Statements
Also, was sind Aussagen? Nun Danach lasst Kontakt Entscheidungen über was passiert, wenn Sie etwas tun.
Die if ... else-Anweisung wird in allen Skriptsprachen gefunden. Es ermöglicht Ihrem Skript nur ausgeführt, wenn man etwas Bestimmtes passiert. Nehmen wir unsere einfache Botschaft vom letzten Mal als Beispiel.
on note
Meldung ("Sie spielen eine Note")
enden
Dies wird angezeigt, wenn Sie einen Ton zu treffen, ist es ein Hinweis auf Rückruf, nachdem alle. Können sagen, wir wollen nur diese zu zeigen, bis auf C3 though. Die if-Anweisung ist perfekt dafür.
Wenn
Heres die Struktur des if-Anweisung.
if (definieren einige Parameter hier wie etwas gleich etwas)
{Sie etwas Gescheites, wenn etwas gleich etwas!}
end if
Also das ist ganz einfach! Aber was ist etwas gleich etwas? Nun, es könnte alles sein. In unserem Fall müssen wir die if-Anweisung zu C3 erzählen. Wir können dies tun, indem eine integrierte Variable namens $ EVENT_NOTE (Es gibt auch $ EVENT_VELOCITY auch!). Dies hält den Wert der aktuell gehaltenen Note (n) als MIDI-Noten-Nummer und kann nur innerhalb einer auf Kenntnis oder auf Release Rückruf verwendet werden.
So könnten wir sagen, Wenn $ EVENT_NOTE gleich 60 (C3) ist dann das Skript!. Wie können wir also schreiben, dass. Nun, wie diese!
Wenn ich Noten zu spielen, dass arent C3, wont Ich sehe nichts als dieses Skript ist spezifisch für C3. Aber wenn ich es tue!
So was ist mit all den anderen Noten? Nun, wir können dies zu einem, wenn erweitern ... else-Anweisung.
If ... Else
Der else-Teil betrifft alles, was nicht auf der Liste. Sie können sich das wie ein Türsteher in einem Club zu denken!
if (die Person attraktiv ist)
Lassen Sie sie in!
sonst
Schicken Sie sie weg!
end if
Nur ein Scherz (Oder bin ich?), Aber das tut es zusammenzufassen! Wir könnten dies.
Die falschen Noten haben jetzt eine Botschaft zu!
So was, wenn wir eine Belastung von verschiedenen Nachrichten wollen auf verschiedene Noten? Wir wollen nicht zu haben, um weiter schreiben Lasten von if-Anweisungen für jeden einzelnen. Es gibt jedoch eine weitere handliche Anweisung aufgerufen select ().
Wählen
Wählen ist wie ein vielseitiger Version von if ... else. Dieses Mal, wenn ein Fall, wie auf einer von Fall zu Fall. Heres, wie es funktioniert.
Anstatt zu sagen: $ EVENT_NOTE = 60 innerhalb der Klammern der if-Anweisung, wir legen Sie einfach $ EVENT_NOTE innerhalb der select Klammern gerne so.
Wählen Sie ($ EVENT_NOTE)
End Select
Die Notennummer Wert von $ EVENT_NOTE ist auf den Fall übergeben.
Dies tun genau dasselbe wie unser erstes, wenn beispielsweise. Sie können so viele Fälle angeben, wie Sie möchten.
Sie können auch einen Bereich für den Fall, wie so.
Wenn Sie in den Bereichen spielen youll sehen dies.
Natürlich müssen Sie die auf Zettel mit einer am Werk wie dieses Paar.
Wenn Sie eine beliebige Taste loslassen.
Jetzt, da wir wissen, wie das funktioniert, wollten select () zu verwenden, um unsere Effekte auslösen.
Legen Sie einige Effekte!
Ich gehe auf drei Effekte in den Instrument Insert Effects Slots laden. Ive got eine Verzerrung, eine Lo-Fi und einen Phaser. Ich bin nun gehen, um diese Effekte zu umgehen.
Ziel Die Auswirkungen
Alles, was in Kontakt automatisiert werden kann, kann durch die KSP genutzt werden. Es gibt eine eingebaute Funktion in der KSP genannt set_engine_par (), die Sie Parameter in der Kontakt-Engine manipulieren. Youll verwenden diese viel!
Wir müssen einige Informationen in den Klammern dieser Funktion übergeben. Dies ist wie folgt:
set_engine_par (,,,, Lets Herunter gebrochen: So ist der Parameter Ich möchte Effekt zu umgehen. Dies wird gezielt mit $ ENGINE_PAR_EFFECT_BYPASS. Lasst uns, dass in. setzen set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, Die Werte für Bypass sind 0 und 1 ist auf umgangen. Ich möchte zu aktivieren die Wirkung so Ill gesetzt 0 in den Wert. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, Meine Slots sind auf dem Instrument Pegel so Ill -1 legte in Gruppe. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, Meine Verzeichnung ist in Slot 1 so Ill gesetzt 0 in Slot. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, Mein Effekt ist ein Insert-Effekt so Ill legte 1 in Generic. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, 1) Jetzt habe ich eine fertige Codezeile ich dies in meinen select ()-Anweisung fallen kann. Wenn ich C3 traf der erste Effekt-Slot (die Distortion) wird aktiv. Ich muss dies in einem am Release Rückruf so umzukehren, wenn ich meinen Finger von der Taste nehmen Sie die Effekt umgangen wieder. Ich tue dies, indem sie eine 1 in Wert wie so. Jetzt kann ich diese Einrichtung für verschiedene Schlüssel mit einem anderen Fall für jeden. Alles, was ich tun müssen, ist erhöhen die Slot-Nummer. Heres das Ergebnis des Schlagens D3. Und dann die Verwendung auf Release umgehen den Effekt, wenn ich den Schlüssel, indem Sie 1 in Wert freizugeben. Ich kann mehr als einen Effekt zur gleichen Zeit zu lösen, das ist ein Bonus! Heres ein Beispiel für mein Skript bei der Arbeit. [Audio id = "12954"] Ich kann dann einen Titel für mein Skript wie wir das letzte Mal gedeckt. Ich kann dann gehen und speichern Sie diese als Voreinstellung für eine spätere Verwendung! Success! Versuchen Sie, diese für sich selbst. Ive enthalten die Code-Schnipsel in einem So haben Sie es. Ein einfaches Skript, mit einem kühlen Ergebnis. Das nächste Mal wohl einen Blick auf einige Interface-Design. Einige Parameter
Discussion
Want to join the discussion?
Create an account or login to get started!