Group your Kontakt UI Controls Together with Panels - Kontakt Scripting Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • Today, we are answering a question about UI Panels in Kontakt Scripting, a convenient way to group your UI controls together to quickly hide them, show them or move them around.
    LINKS:
    Show/Hide Control and Offset Background Tutorial: • MULTIPLE BACKGROUNDS I...
    If and Select Function Tutorial: • "IF" AND "SELECT" FUNC...
    ****FOLLOW STEVE****
    Website/Bio: www.stephen-oc...
    Instagram: stephenoconnellportfolio
    SoundCloud: www.soundcloud.com/stephen-oconnell-composer
    Pianobook: www.pianobook.co.uk/profile/steveoc/
    Facebook: stephenoconnellportfolio
    ****GIVE A TIP FOR SUPPORT****
    Along with Pianobook’s new tipping feature, I’ve created a Ko-fi account if you would like to “buy me a coffee” for support! :D Thank you to anyone who does!
    Ko-Fi: ko-fi.com/stev...
    ****HELPFUL RESOURCES FROM CMD SHIFT NEW****
    The Kontakt Knowledge Base: www.stephen-oc...
    A growing database of knowledge articles, this is a great resource for Kontakt Samplists looking to learn more about Kontakt instrument creation and scripting.
    FREE Tutorials: www.stephen-oc... OR Channel Home Page!
    Detailed, thorough, free tutorial series on a wide range of topics, with more courses being added regularly. Check out this TH-cam Channel's home page for links to all courses.

ความคิดเห็น • 41

  • @viralempire1986
    @viralempire1986 ปีที่แล้ว +2

    Have spent the last 3 nights working out panels for a drum library I’m making.
    Impeccable timing.

  • @jessebillson
    @jessebillson 6 หลายเดือนก่อน +1

    Awesome, very helpful video. Thanks for making these! How would you make multiple panels?

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  6 หลายเดือนก่อน

      You can keep adding more and more panels in exactly the same way. I tend to declare all of my panels at the top of the on init block along with any arrays or constants I create, just allows me to keep it straight in my head, but otherwise that is all you do.

  • @amredine
    @amredine ปีที่แล้ว

    ❤ thank you so mush this tutoriel is for me .love u from algeria

  • @AudioBoi1
    @AudioBoi1 ปีที่แล้ว +1

    oh man, your tutorials are so good! if not you, I'd probably throw trying KSP a long time ago. Doing god's work 🙏

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว +1

      My pleasure, glad to help!

    • @AudioBoi1
      @AudioBoi1 ปีที่แล้ว

      @@StephenOConnellCmdShiftNew with your help it was much easier to grasp all of this! Thank u

  • @makegamemusic
    @makegamemusic ปีที่แล้ว +1

    Really useful stuff Stephen! Thank you for this.

  • @amredine
    @amredine ปีที่แล้ว

    Thank u so mush . Please when l close kontakt and reloud instruments. The panel is already open !

  • @rawl747
    @rawl747 ปีที่แล้ว

    Nice approach to solving the otherwise overcrowded GUI. This is new to Kontakt 7, right?

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว

      Thanks! I do believe it was available in previous versions, I have at least used it in Kontakt 6 myself.

    • @rawl747
      @rawl747 ปีที่แล้ว

      @@StephenOConnellCmdShiftNew I asked after failing to find it in a search of the v6 KSP documentation for "ui_panel". I figured that it was a new feature of v7.

  • @MarcusDyneMusic-p5s
    @MarcusDyneMusic-p5s 9 หลายเดือนก่อน

    Thanks Stephen, really useful as are all of your videos.
    I noticed the GUI graphics in SUBVERSION are changing with the different effect blocks. How did you add the effect-specific graphic element to the panel so it appears and disappears when selected?

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  9 หลายเดือนก่อน

      Hey, glad you are enjoying my videos! Great question, it's through a combination of using the hide_part commands and the skin_offset commands. I have a video (bit of an older one now) that checks out a basic set up of this, but the same principle is applied: th-cam.com/video/ZN_qfWjA7Bk/w-d-xo.html

    • @MarcusDyneMusic-p5s
      @MarcusDyneMusic-p5s 9 หลายเดือนก่อน

      Thanks Stephen, I understand now. Duplicated wallpapers with different control labels stacked vertically and then offset instructions to select the appropriate wallpaper section. Why were you not in the New Year's honours list!

  • @jatinbid7717
    @jatinbid7717 3 หลายเดือนก่อน

    hie, pls do session on how to diy on making own strum libraries, pattern sequencing libraries

  • @Joshua_Griffin
    @Joshua_Griffin ปีที่แล้ว

    I've started using creator tools. It's making life a lot easier for those small things

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว

      💯 It's a great tool, particularly for small projects or quick mock ups where a GUI is all you are after.

  • @MehrbodR
    @MehrbodR ปีที่แล้ว

    hi thanks a lot.
    I'm looking for a video about Kontakt Scripting that shows you how to repeat a note by using the key switches in 8th., 16th., 32th., etc. did you made such a video?
    sorry about my poor English :)

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว

      Hey, I haven't made a note repeater video yet, but that is a great idea indeed for a video some time soon. Stay tuned. 😁

  • @AnotherUsernameGreat
    @AnotherUsernameGreat ปีที่แล้ว

    Great clip many thanks 🙏. A bit of an aside, but how do you get the correct syntax highlighting in Sublime? Is there a custom one for KSP or?

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว +1

      Ah, great question. It is a custom Sublime plugin from Nils, which you can download and install for Sublime. nilsliberg.se/ksp/

    • @AnotherUsernameGreat
      @AnotherUsernameGreat ปีที่แล้ว

      @@StephenOConnellCmdShiftNew thanks for the reply! Installed and loving it... I'm wrangling 5k lines of code, this makes a huge difference!

  • @realboxinstruments
    @realboxinstruments ปีที่แล้ว

    Thanks!!

  • @ronnyb5890
    @ronnyb5890 ปีที่แล้ว

    long time since you made a ksp tutorial Stephen, i learn better if i see it done instead of learning it while reading (manual)
    question, are there new ksp commands in kontakt 7 worth learning? if so, what are they?
    while updating to kontakt 7 it scrambled some instument GUIs on one pc in the process, they are unuseable, still dont know what went wrong, tried re-installing kontakt 7 and even re-installing the libraries, didnt work, very strange as i dont have this problem on the other pc
    anyway,great tutorial as always, cheers mate

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว

      Hey Ronny! I agree, the KSP manual is very tiresome to go through to learn new things and is a bit brief a lot of the time. As for your question about Kontakt 7, I don't think I've really used any new K7 features that are a stand out to me. K6 was really robust and, from what I can tell, K7 is just a refinement of this. It sucks that some of your GUIs got a bit messed up, not sure what happened there, but most of the additions to the script were just for the extra effects, like the PsycheDelay and so on. There is a new "continue" command that works within while looks that I think brings some much needed flexibility to while loops though, I'll have to do a video on that soon.

    • @ronnyb5890
      @ronnyb5890 ปีที่แล้ว

      @@StephenOConnellCmdShiftNew thanx m8 looking forward to your next KSP video,still havent heard from NI about the GUI mess,untill then,all those libraries are unusable 😥 cheers Stephen

  • @viralempire1986
    @viralempire1986 ปีที่แล้ว

    After playing with panels for a bit, is it true to say you can’t have controls in the same spot so it appears smooth when transitioning? All controls have to be in slightly different places to the others regardless of layer?

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว +1

      Hey, great question. I don't think there should be a problem with the controls being in exactly the same spot. It might just be looking a bit weird if the order isn't correct. Because the script is linear and processing every line step by step, you might want to put the hide control commands first before the show command controls. That way, the space is vacant when the next control shows up. If you want to, you could even put a small pause between them. You can use the wait() command to wait a specific amount of microseconds (1000000 microseconds per second). So, you might add a wait(10000) in there, just to make sure there is no overlap.

  • @GabrielitoSoy
    @GabrielitoSoy ปีที่แล้ว

    Hi there!.
    Skill One:
    I'm using Kontakt 7.6. Fact is:
    I have two samples inside an nkm file, and another two samples inside another nkm. Difference between both of is KSP, Transform, Harmonize... First making 3rds, Second making 6ths.
    Trouble is: How to alternate between one and another by assingning control to my controller buttons, sliders or note keys to change one to another or vice versa... i've tryed to assign MIDI LEARN control to left-right arrows but those don't respond to.
    Skill Two:
    I have two instrument banks. (One for each of my two controllers that were assigned to Port A and Port B), but KSP to sound's changes operates only in the first bank....Idea could be a command to both of controllers could be change the sound simoultaneously....I don't know if that's possible.
    Like and subscribed, obviously!. 😃
    Cheers from México. 🏴‍☠

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว

      Hey, interesting questions, let me try and help, though I'm not entirely sure I'm on the right track.
      Q1) I don't think you can Midi Learn the Mute button on the top toolbar of the instrument, as it is kind of a "global" control that works outside of the instrument. So, maybe you could write a script in each instrument to keyswitch (I've been meaning to do a tutorial on keyswitching, so stay tuned 😁). Let's say A-1 will turn on the first instrument and B-1 will turn on the second instrument. In the first instrument, you would use the on note call back to disallow all groups and turn on your group on A-1 (with an if function) and on the second instrument you would use the same script but to turn it on for key B-1. It's a bit much to explain here, but this video shows the scripting for something similar and I'll do a keyswitching video soon: th-cam.com/video/7WMLOf9T-no/w-d-xo.html.
      Q2) I'm not sure what you mean here, but if you are trying to get one controller to work on the first instrument (Port A) and the second controller to work on the second instrument (Port B), but they are both playing the first one (Port A), it might be that you need to configure the controller itself to send on a different channel. Essentially, Port A is midi channel 1 and Port B is midi channel 2, so you should be able to change your second controller to midi channel 2, allow it to only work for the Port B instrument. Maybe check out the controller's manual to see if it has this capability.
      Hope this helps.

  • @PatrickWaugh-kk3ze
    @PatrickWaugh-kk3ze 8 วันที่ผ่านมา

    i’d like to figure out how to integrate through the controls in a panel with a macro.

  • @SilverWolf941
    @SilverWolf941 9 หลายเดือนก่อน

    Is there a way to display the On-Screen Keyboard octave? I've seen one with like C1, C2, C3. I'm wondering for workflow purposes.

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  8 หลายเดือนก่อน +1

      You might be about to create a label that displays the octave range based on key? If I was trying that, I would declare the label and then use a select function in the on note block (I have a video on select and if functions if that helps too) to display a message based on the key. Each key is a number, like C3 is equal to 60, so you could set a message based on what key number it is. The select function accepts ranges ("case 60 to 72" for example would be C3 to C4 if I've got those numbers right), so you could use a set_text command to change the label to say "C3 to C4" when a key number is pressed in that range. Hope that makes sense.

    • @SilverWolf941
      @SilverWolf941 8 หลายเดือนก่อน

      @@StephenOConnellCmdShiftNew Thank you, I will give it a go!

  • @amredine
    @amredine ปีที่แล้ว

    Why the panet is already open how we can fixe this

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  ปีที่แล้ว +2

      Hey, it sounds like you might need to put a hide command in your on init block. For example, if you panel is called $Panel, then you will need to put in "hide_part($Panel, $HIDE_WHOLE_CONTROL) at the end of your on init block. That will hide it by default when you first load the library. If you have several panels, you will need to hide all of them except the first panel you want shown, so the same command can work on all of them by swapping out the variable.

    • @amredine
      @amredine ปีที่แล้ว

      @@StephenOConnellCmdShiftNew thank you freind .you are the best

  • @eDrumsInANutshell
    @eDrumsInANutshell 10 หลายเดือนก่อน

    Hi mates!
    I am using the MixWave Tony Royster drum library. Is there anybody who could tell me how I could implement cymbal chokes with a poly_at callback.
    I do not have the wrench icon on that instrument. And I am ... new to KSP.
    It is three lines of code as I found out, but after apply I get the ERROR message: callback type not allowed
    Thanks for a short hint!

    • @StephenOConnellCmdShiftNew
      @StephenOConnellCmdShiftNew  9 หลายเดือนก่อน

      Hey, great question. I haven't tried it with the poly callback before, but there are a few ways that may work. If there are cymbal ring out and cymbal choke samples in different group then the allow_group command might be the best bet. You would disallow all groups and allow just the right one (when that note is played in the on note block) and then switch the allowed group in the poly_at callback. Otherwise, if you just want to fade out a ringing sample, maybe in the poly_at callback you just use the fade_out command and fade out with an appropriate amount of time the specific event note ex: fade_out($EVENT_NOTE,10000,1). Hope this helps and good luck!