مقدمة في البرمجة النصية في KONTAKT، الجزء 2

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. In Part 2 you'll build a note trigger FX script!  

حتى آخر مرة ألقينا نظرة على بعض الاسترجاعات الأساسية، وهي "على الحرف الأول"، "على مذكرة" و "على" الافراج. رأينا كيف وضع بعض قواعد بسيطة بين هذه الاسترجاعات طباعة بعض الرسائل إعلامنا رمز لنا كان يعمل.

هذه المرة، كانوا في طريقهم لبناء شيء! ايم متأكد يوف جميع الأضرار Heavyocitys ينظر وتتطور الصكوك. واحدة من الأشياء باردة لديهم هي ملاحظة أثار FX. كذلك ايم الذهاب الى تبين لكم كيف لبناء سيناريو بسيط للقيام بذلك لأنني أعتقد بأن شيئا المستخدمين يرغبون في القيام به. يتيح يذهب!


خطة!

هيريس ما كانت بعد. قمت بتحميل مجموعة من الآثار إدراج وتجاوز لهم. ثم يمكنك تعيين المعلمة تجاوز لكل تأثير على المذكرة. عندما كنت أصاب علما، وأثر في المقابل الى ان المذكرة نشطة، عندما تقوم بتحرير مذكرة تأثير يتم تجاوز!

لتحقيق هذا نحتاج أولا لمعرفة المزيد عن البيانات.


البيانات

فما هي بيانات؟ كذلك تسمح هذه KONTAKT اتخاذ قرارات حول ما يجري أن يحدث عندما تفعل شيئا.

وإذا وجدت ... بيان آخر في جميع لغات البرمجة. فإنه يسمح السيناريو الخاص بك لتشغيل فقط إذا كان هناك شيء محدد جدا يحدث. دعونا نلقي رسالتنا بسيطة من المرة الأخيرة كمثال على ذلك.


على ملاحظة

رسالة ("كنت تلعب ملاحظة")

تنتهي يوم


هذا وسوف تظهر إذا كنت ضرب أي ملاحظة، بل هو رد على المذكرة بعد كل شيء. دعونا نقول اننا نريد هذا فقط لتظهر على الرغم من C3. البيان إذا مثالية لذلك.


إذا

هيريس هيكل بيان إذا.


إذا كان (تحديد بعض المعلمات هنا وكأنه شيء يساوي شيئا)


{لا شيء يساوي شيئا إذا ذكي شيئا!}


النهاية، اذا كان


حتى thats بسيطة جدا! ولكن ما هو شيء يساوي شيئا؟ كذلك يمكن أن يكون أي شيء. في حالتنا نحن بحاجة لنقول للبيان عن حالة C3. يمكننا أن نفعل هذا باستخدام متغير يسمى المدمج في EVENT_NOTE $ ($ وهناك أيضا EVENT_VELOCITY أيضا!). هذا يحمل قيمة علما المحتجزين حاليا (ق) وعدد علما MIDI ويمكن أن تستخدم إلا داخل مذكرة عن رد أو على الإصدار.

لذلك يمكن أن نقول، إذا EVENT_NOTE $ يساوي 60 (C3) ثم تشغيل البرنامج النصي! إذا كيف نكتب ذلك. حسنا، مثل هذا!

If statement


إذا كنت تلاحظ أن تلعب C3 تخلخل، متعود أرى أي شيء وهذا السيناريو هو محددة لC3. ولكن إذا كنت تفعل!

You're Playing C3!


فماذا في كل الملاحظات الأخرى؟ حسنا، يمكننا توسيع هذا إلى بيان إذا ... آخر.


إذا ... أخرى

آخر الجزء يتصل كل ما هو ليس على القائمة. يمكنك التفكير في مثل هذه البواب في النادي!


إذا كان (الشخص جذابة)


تسمح لهم بالدخول!


آخر


تطرده!


النهاية، اذا كان


المزاح فقط (أو أنا؟) لكن هذا لا باختصار! يمكن أن نستخدم هذه.

If...Else Statement


وتلاحظ الخطأ الآن رسالة أيضا!

Try again Bozo!


ذلك ما إذا كنا نريد حمولة من رسائل مختلفة على أوراق مختلفة؟ نحن لا نريد أن يكون للحفاظ على كميات من الكتابة إذا كانت تصريحات لكل واحد. ومع ذلك هناك بيان آخر مفيد دعا حدد ().


حدد

حدد بمثابة نسخة أكثر تنوعا من إذا ... آخر. هذه المرة هو ما إذا كان الحالة، مثل على أساس كل حالة على حدة. هيريس كيف يعمل.

بدلا من أن تقول $ = 60 EVENT_NOTE داخل الأقواس من EVENT_NOTE إذا البيان، ونحن الآن إدراج دولار فقط داخل الأقواس اختار مثل ذلك.


حدد ($ EVENT_NOTE)


إنهاء حدد


يتم تمرير قيمة عدد علما $ EVENT_NOTE لهذه القضية.

Select

وهذا بالضبط تفعل نفس الشيء لدينا أولا إذا سبيل المثال. يمكنك الدولة بوصفها حالات كثيرة كما تريد.

Select


يمكنك أيضا تعيين مجموعة لحالة مثل ذلك.

You can also set a range for the case like so.


يوول عندما تلعب داخل نطاقات شاهد.

You're Playing Between C4 and B4!


بالطبع تحتاج إلى إقران مذكرة بشأن الإفراج مع على هذا المنوال.


عند الإفراج عن أي ملاحظة.


والآن بعد أن نعرف كيف يعمل، كانوا في طريقهم لاستخدام حدد () لتؤدي إلى آثار دينا.


تحميل بعض الآثار!

ايم الذهاب لتحميل ثلاثة آثار في فتحات إدراج تأثيرات الصك. حصلت إيف تشويها، وهو لو فاي وفيزر و. ايم الذهاب الآن لتجاوز هذه الآثار.

Bypass Effects


استهداف الآثار

يمكن الوصول إلى أي شيء يمكن أن يكون آليا في KONTAKT من KSP. هناك وظيفة مدمجة في KSP دعا في set_engine_par () التي تتيح لك التلاعب المعلمات داخل المحرك KONTAKT. يوول استخدام هذا كثيرا!

نحن بحاجة لتمرير بعض المعلومات إلى شرائح هذه الوظيفة. هذا هو على النحو التالي:

set_engine_par (،،،،


يتيح كسر هذه أسفل:

  • معلمة نريد أن إحداث مثل $ ENGINE_PAR_DRIVE على تشويه لدينا. ( فسوف تجد قائمة من المعلمات كل ما هو متاح في المرجع KSP KONTAKT في نهاية المطاف.)
  • قيمة للمعلمة. يمكن أن تنتقل عن طريق عنصر تحكم UI أو يمكنك تعيين قيمة.
  • عدد المجموعة (إن وجد). هذا يتوافق مع FX المجموعة. تعيين هذا إلى -1 إذا كنت ترغب في استهداف الآثار على مستوى الصك.


    تعيين بعض المعلمات

    لذلك، المعلمة أريد أن التأثير الالتفافية. ويستهدف هذا باستخدام ENGINE_PAR_EFFECT_BYPASS $. دعونا وضع هذا في.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS، ، ، ، )


    قيم الالتفافية هي 0 و 1 على يتم تجاوز. أريد لتفعيل تأثير ذلك وضع إساءة إلى القيمة 0.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS، 0، ، ، )


    بلادي هي فتحات على مستوى الصك حتى وضع في المجموعة إساءة -1.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS، 0، -1، ، )


    تشويه بلدي في ذلك وضع الشريحه 1 0 إساءة إلى الفتحة.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS، 0، -1، 0، )


    تأثير بلدي هو تأثير ذلك إساءة إدراج وضع 1 في عام.

    set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS، 0، -1، 0، 1)


    الآن لدي خط النهائية من التعليمات البرمجية أستطيع أن إسقاط هذا في بياني حدد ().


    Code Example



    عندما ضرب C3 فإن تأثير فتحة الأول (تشويه) تصبح نشطة.

    Distortion becomes active


    ولست بحاجة إلى عكس هذا في رد على إطلاق سراح ذلك عندما أخذ إصبعي من المفتاح تأثير يتم تجاوز مرة أخرى. أفعل ذلك من خلال وضع القيمة 1 في مثل ذلك.

    Code Example



    يمكنني ضبط هذا الأمر الآن لمفاتيح مختلفة باستخدام حالة مختلفة لكل منها. كل ما عليك القيام به هو زيادة عدد الفتحة.

    Code Example


    هيريس نتيجة ضرب D3.

    Phaser becomes active


    وبعد ذلك باستخدام الإفراج عن تجاوز تأثير عندما حرر المفتاح من خلال وضع 1 في القيمة.

    Code example


    ويمكنني أن يؤدي أكثر من تأثير في نفس الوقت أيضا، والتي هي مكافأة!

    Trigger more than one effect at the same time


    هيريس مثال النصي بلدي في العمل.

    [الصوت ID = "12954"]


    لا أستطيع ثم تعيين عنوان لنصي مثل غطينا آخر مرة.

    Script Title


    يمكنني أن أذهب وثم حفظ هذا على هيئة إعداد مسبق لاستخدامها لاحقا!

    Save script as a preset


    النجاح! محاولة ذلك لنفسك. وشملت إيف مقتطفات الشفرة في

    هناك حتى لديك. سيناريو بسيط بنتيجة باردة. في المرة القادمة سيكون لها نظرة على بعض تصميم واجهة.


    Quick Links


    Introduction To Scripting in Kontakt, Part 2 (you're reading it!)

    Introduction To Scripting in Kontakt, Part 3

    Introduction To Scripting in Kontakt, Part 4

    Introduction To Scripting in Kontakt, Part 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!