Kontakt में पटकथा के लिए परिचय, भाग 3

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. Part 3 goes deeper into variables. Read the next part on The Hub tomorrow!  

पिछली बार जब हम कुछ बयान अगर ... और उपयोग में देखा और select (). ये हमें एक स्क्रिप्ट चलाने के लिए जब कुछ विशिष्ट खेला जा रहा है एक नोट की तरह हुआ, मदद की. अगर तुम्हें याद है हम एक स्क्रिप्ट है कि हमें (या संयुक्त राष्ट्र बाईपास) हमारे मिडी कीबोर्ड पर नोटों दबाकर कुछ आंतरिक प्रभाव ट्रिगर जाने का निर्माण.

इस भाग के प्रभाव के बाईपास नियंत्रण लक्ष्यीकरण चर में निर्मित कुछ, अर्थात् ENGINE_PAR_EFFECT_BYPASS $ जो केवल कि पैरामीटर के लिए एक संदर्भ का उपयोग करके किया गया था. इस भाग में गहरे चर में, दोनों में निर्मित और उपयोगकर्ता परिभाषित तल्लीन करना करने के लिए जा रहे थे.

एक चर क्या है?

चर रहे हैं बिना किसी भी पटकथा भाषा में सबसे महत्वपूर्ण बात पर शक है और यह काफी मुश्किल हो करने के लिए उन्हें और अधिक विस्तार में समझाने के बिना इन कार्यशालाओं के बाकी के साथ आगे बढ़ना होगा.

एक चर एक भंडारण युक्ति है कि जानकारी का एक टुकड़ा रखती है. किसी भी बिंदु पर आप कि चर नाम संदर्भित जानकारी का टुकड़ा है कि करने के लिए उल्लेख कर सकते हैं. एक शॉर्टकट की तरह इसके बारे में सोचो.

आप एक नाम, संख्या, या एक वस्तु की तरह एक स्थिर (निरंतर) सूचना का टुकड़ा के साथ एक चर को भरने कर सकते हैं. वैकल्पिक रूप से आप कुछ गतिशील के साथ एक बदलते पैरामीटर जो फिर कुछ और करने के लिए पारित किया जा सकता है की वर्तमान मूल्य की तरह भर कर सकते हैं.

चर के दो मुख्य प्रकार हैं. निर्मित में उपयोगकर्ता और परिभाषित किया गया है. चलो एक नज़र है!


में निर्मित चर

Kontakt स्क्रिप्टिंग भाषा में कई चर जो भाषा में लिखा जाता है में बनाया गया है. ये मुख्य रूप से कर रहे हैं Kontakt इंजन के सुलभ मापदंडों को संदर्भ, अर्थात् चीजें आप KSP के साथ छेड़छाड़ कर सकते हैं. यहाँ एक अच्छा उदाहरण है. लो - फाई प्रभाव चार पैरामीटर है. मैं उनके लिए चर में बनाया का उपयोग करके इन का उपयोग कर सकते हैं. ये हैं:

  • $ENGINE_PAR_BITS
  • $ENGINE_PAR_FREQUENCY
  • $ENGINE_PAR_NOISELEVEL
  • $ENGINE_PAR_NOISECOLOR

Youll नोटिस कि इन सभी ENGINE_PAR_ डॉलर की एक निश्चित उपसर्ग है. यह उपसर्ग Kontakt उपयोग के लिए आरक्षित है, के रूप में $ NI_, CONTROL_PAR_ $, EVENT_PAR_ $ हैं. जब आप अपने खुद के चर को परिभाषित करने के लिए आते हैं इन का उपयोग कर के स्पष्ट चलाने चाहते youll.

वहाँ भी अन्य प्रकार के कि उपयोगकर्ता कार्रवाई, नोट्स क्या आप की तरह खेल रहे हैं के बारे में जानकारी पकड़. हम इन पिछले समय की एक EVENT_NOTE देखा.

वहाँ तक भी कई यहाँ कवर लेकिन youll KSP संदर्भ मैनुअल के अंत में स्थायी और चर में निर्मित सभी की एक सूची मिल. कह रही है कि बीमार आपको एक उदाहरण देता है.

वहाँ में निर्मित एक $ बुलाया PLAYED_VOICES_INST चर रहा है. यह कितने आवाज (नोट्स) मौजूदा साधन खेल रहा है के मूल्य रखती है. अगर मैं इस पर ध्यान दें कॉलबैक लिखने ...

Code example 1


मैं यह संदेश मिलता है.

You are playing 6 notes


Youll नोटिस Ive चर करने के लिए एक के रूप में यह 0 से गिना जाता है. एम्परसेंड्स (

तो youll चर में निर्मित का उपयोग किया Kontakt में क्या आ रहा है के बारे में जानकारी इकट्ठा करने के


उपयोगकर्ता निर्धारित चर

उपयोगकर्ता चर आपके द्वारा परिभाषित कर रहे हैं और क्योंकि Kontakt इन चर के साथ परिचित (विपरीत में निर्मित वाले) पहले उन्हें घोषणा की जरूरत है youll नहीं है. एक चर घोषित करने के लिए अपने बीच init पर किया जा सकता है ... कॉलबैक पर अंत. तो के बारे में यह सब क्या है?

एलान कहने का एक तरीका है, अरे Kontakt! Im एक नया चर बनाने के लिए जा रहा है, तो सुनो!.

तो देता है की कोशिश करो! IM के लिए एक सामान्य चर (वहाँ कुछ अन्य प्रकार के होते हैं) के लिए जा रहा है. एक डॉलर के साथ पहले कर रहे हैं. किसी भी चर यह बेहद संवेदनशील मामला है इसलिए सावधान रहना!


$ myVariable की घोषणा


तो अच्छा है, लेकिन अब क्या thats? फिलहाल myVariable $ खाली के रूप में मैं havent यह एक मूल्य दिया है. तो कह देता है ...


MyVariable: $ = 2


= के बराबर का मतलब है. तो मेरे कोड इस तरह दिखेगा.


$ myVariable की घोषणा

MyVariable: $ = 2


अब Kontakt $ myVariable का मतलब है क्या जानता है. मैं भी इस तरह से एक हिट में एक ही बात लिख सकता है ...


myVariable $ घोषणा: = 2


कहां से यह कुछ परिस्थितियों में ठीक है बाद में देख सकते हैं कि हम दो भागों में अलग और मूल्यों की घोषणा बताए की आवश्यकता हो सकती है youll.


तो अब मेरे चर एक मूल्य मैं का उपयोग करके एक नोट घटना पर एक संदेश प्रिंट सकता है.


Code example 2



मैं यह संदेश मिलता है.

$myVariable has a value of 2


सूचना कैसे मैं यह 2 के रूप में दिखाने के बिना उद्धरण चिह्नों के अंदर myVariable डॉलर का उपयोग कर सकते हैं. इसका कारण यह है कोटेशन के अंदर कुछ भी सादा पाठ माना जाता है.

तो, एक अधिक गतिशील मूल्यों का उपयोग कर उदाहरण. इस बार बीमार के मूल्य के साथ मेरे $ myVariable भरें

MyVariable: $ 1 = $ PLAYED_VOICES_INST


MyVariable $ अब $ PLAYED_VOICES_INST द्वारा इकट्ठा जानकारी पकड़ और 1 जोड़ें. तो अब मैं यह कर सकता है.

Code example 3


सूचना पर ध्यान दें कॉलबैक अंदर myVariable डॉलर मूल्य सौंपा Ive. इसका कारण यह है $ PLAYED_VOICES_INST केवल नोट डेटा इकट्ठा कर सकते हैं, जब अंदर callbacks है कि नोट जानकारी के साथ सौदा.

और मैं इस मिल ...

You are playing 1 notes!


अब, केवल एक नोट मारा तो मैं "आप 1 नोट्स खेल रहे हैं!" व्याकरण की दृष्टि से बकवास है! तो चलो हमारे चर का उपयोग करने के लिए मदद के लिए यह काम करने के.

एक ... और बयान अगर हम बाहर खोजने के लिए और कर सकते हैं कि कितने नोटों खेल रहे हैं एक प्रासंगिक प्रतिक्रिया प्रदर्शित व्याकरण की दृष्टि से सही thats.

देता है तो कहते हैं कि अगर डॉलर myVariable एक से अधिक है, एक संदेश है कि नोट के बहुवचन व्यक्त मुद्रित. यदि इसकी एक नोट के विलक्षण का उपयोग कर एक संदेश तो मुद्रित नहीं.

हम $ बयान अगर कोष्ठक के अंदर myVariable डाल (जो अब खेले गए नोटों की संख्या धारण). इस तरह से यह तौलना कर सकते हैं (अगर इसकी अधिक


हमारे कोड इस तरह दिखेगा.

Example code 4


जब मैं खेलने के लिए एक ध्यान दें मैं ....

You are playing 1 note!


जब मैं एक से अधिक नोट खेलने के लिए मैं ...

You are playing 4 notes!


सफलता!


तो उम्मीद है कि आप देख सकते हैं कि कैसे इस चर काम कर रहा है. Im यह इस स्क्रिप्ट में तीन बार जो स्पष्ट रूप से कुछ समय और आकार बचाता reusing. जब आप और अधिक जटिल स्क्रिप्ट लिखने आप इस बार के दसियों संदर्भ और केवल एक बार के लिए मूल्य असाइन करने के लिए हो सकता है.

एक चर मूल्य स्थिर नहीं है और वहाँ के लिए आप किसी भी समय एक चर मूल्य बदल रहा है बंद करने के लिए कुछ भी नहीं है, वास्तव में यह काफी आम है. बीमार बाद के ट्यूटोरियल में कुछ उदाहरण दे.


चर प्रकार

अब तक weve बुनियादी चर के साथ निपटा. अपने स्वयं के उपसर्ग के साथ प्रत्येक Kontakt में कुछ चर के विभिन्न प्रकार के होते हैं.


  • @myText = A String Variable. Holds “Text information”
  • const $myVariable = Sets a constant value e.g. 12
  • polyphonic $myVariable = Holds a value for each polyphonic event.
  • %myArray[] = Holds multiple values in a list
  • !myArray[] = Holds multiple text strings in a list


खैर कुछ आने वाले ट्यूटोरियल में एक इनमें से कुछ को कवर किया.

अगली बार अच्छी तरह से कुछ इंटरफेस तकनीक में देखो. चर के बारे में जानने के बाद करना चाहिए उपयोगकर्ता बनाने की प्रक्रिया बहुत आसान करने के लिए समझने को नियंत्रित करता है. तब तक!

मैं इस कोड उदाहरण में शामिल है


द्रुत कड़ियाँ:

Kontakt में पटकथा के लिए परिचय, भाग 1

Kontakt में पटकथा के लिए परिचय, भाग 2

Kontakt में पटकथा के लिए परिचय, भाग 3

Kontakt में पटकथा के लिए परिचय, भाग 4

Kontakt में पटकथा परिचय, भाग 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!