Introdução ao Scripting no Kontakt, Parte 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!  

Então última vez que olhou para as variáveis. Nesta parte íamos ter um olhar para os fundamentos de algumas coisas interface.

A capacidade de projetar suas próprias interfaces personalizadas em Kontakt realmente o diferencia de qualquer outro software amostrador. Cada instrumento que você faz pode ser projetado para dar a você ou ao usuário o acesso fácil aos parâmetros importantes para ajustes sem ter que aprofundar as internas (e às vezes assustadora) funcionamento do Kontakt.

Ele também permite que você (ou o desenvolvedor) a chance de carimbar algumas características do projeto artístico em para o seu instrumento, adicionando imagens personalizadas e elementos de interface de usuário. Cada biblioteca você comprar (e Kontakt é construído em biblioteca) tem o seu próprio visual e conjunto de recursos. Tudo isto se a execução de scripts.

Então, como você faz isso? Bem, eu vou te mostrar!

Criar uma vista Desempenho

A primeira coisa que você precisa fazer para criar qualquer tipo de interface é criar uma vista de desempenho. Isso é feito usando uma linha muito simples de código entre o seu na inicialização ... terminará em retorno.

make_perfview

Você também precisa definir uma altura. A visão de desempenho pode ser medido de duas formas, no modo de Grade ou Pixels.

Usando Grades

No modo Grade A visão de desempenho é dividido em seis colunas. Cada coluna pode ter até 16 linhas. Cada bloco tem uma grade de coordenadas de grade. Colunas 1-6 e linhas 1-16. Abaixo você pode ver estes blocos de grade e suas respectivas coordenadas.

Grid Mode


Para definir a altura em quantidades de grade, você precisa adicionar o seguinte comando.

set_ui_height ()

Entre o youll suportes adicionar o número de linhas verticais que você deseja. Isso é definido em múltiplos de duas linhas, ou um número de 1-8. Isto é porque uma Knob padrão é de duas linhas de altura.


Portanto, se queremos que o nosso desempenho Ver oito linhas altas poderíamos acrescentar 4 nos suportes.

Code Example 1


Quando você bate Aplicar aviso você vai o Script Editor vai se expandir. Isto porque todos os controles que você cria são também visíveis no editor de script para que você possa ver o que você está fazendo.

Expanded


Se você sair de instrumento modo de edição você vai ver também que a interface Kontakt passou de seu tamanho padrão ...

Default size


uma versão alargada com base na altura da grade definida.

Expanded


Uma vez que você criou alguns controles o youll colocar essas coordenadas de grade usando. Mais sobre isso mais tarde. Para os seguintes exemplos Im indo para usar o Modo Grid.

Usando Pixels

Dizer que você também pode definir a sua altura em pixels (Kontakt 4 e acima). Você pode fazer isso usando ..

set_ui_height_px ()

Isso é útil se você estiver trabalhando com uma imagem de fundo e precisam colocar controles no nível de pixel. Assim, definir uma altura de 250 dentro dos colchetes fará seus 250px área de trabalho de alta.

set_ui_height_px (250)


Height of 250px


Ao mover os controles, então você vai usar os valores de pixel para colocá-los. Em Kontakt 5 A visão de desempenho foi expandido de 350px em versões anteriores para 540px.

Portanto, agora temos uma área para trabalhar com vamos fazer algumas coisas!

Alguma coisa a declarar?

A fim de criar um controle de interface do usuário ou Interface de Controle do Usuário precisamos primeiro declará-lo entre os nossos no retorno de chamada init. Esta é a mesma de quando declaramos nossas variáveis ​​última vez. Uma grande parte da razão pela qual fazemos isso é que cada controle que criamos é atribuído um nome de variável, para que possamos fazer referência a ela em nossos scripts.

Em Kontakt há uma série de controles de interface do usuário que você pode criar. Cada um tem seu próprio sinal de chamada, todos começam com o prefixo ui_. Estes são os seguintes:

  • 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)


Para criar um controle, usamos o seguinte código. Para um botão padrão esta será ...

declarar ui_knob $ ( , , )


Você encontrará cada controle que você cria tem um conjunto diferente de parâmetros. Por exemplo ui_label tem dois parâmetros de largura e altura que são fixadas em montantes de grade.

declarar ui_label $ ( , )


Parâmetros que definem

A primeira coisa que você precisa fazer é dar o seu controle de interface de usuário um nome exclusivo variável. Vamos dizer que estavam criando um botão padrão. Eu poderia chamá-lo myKnob.

declarar myKnob ui_knob $ ( , , )


Sempre que eu quero usar este botão para fazer algo que eu referência $ myKnob.


Agora eu preciso para definir os parâmetros acima. Com o botão padrão eu tenho três.


min = O valor mínimo

max = valor máximo

O display de taxa-= Divide o intervalo para simplificar os números de exibição


Usando o seguinte código irá gerar um padrão que vai Knob 1-100 em passos de 100 (100/1).

Code Example 2


Este vai agora também estará presente na Vista Performance.

Knob


Permite adicionar uma Label. Nome mal que myLabel.


declarar ui_label $ myLabel ( , )


Ill também definir sua largura e altura em medições de grade.

Code Example 3


O que me dá isso.

New Label


Você encontrará todas as informações sobre os diversos parâmetros do Manual de Referência KSP no capítulo usuário controles de interface.


Movendo controles de interface do usuário


Há um outro conjunto de elementos chamados Comandos de interface de usuário que estão lá para ajudá-lo a manipular os controles de interface do usuário. Um destes é o chamado move_control ().


Isto tem três parâmetros.


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.


Vamos dizer que eu quero passar myKnob abaixo myLabel. Eu posso fazer isso usando o seguinte código.

Code Example 4


Isso vai movê-lo para a primeira linha, coluna 2. Você também pode usar move_control_px () e substitua os valores de grade com valores de pixel.

Moved knob


Renomeie seus controles

Atualmente, tanto a nossa Knob e etiqueta são nomeados por padrão com o seu nome variável. Isto é fácil de alterar utilizando outro comando chamado set_text User Interface (). Isto tem dois parâmetros.


set_text ( , )

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


Ive acrescentou set_text () para ambos os meus elementos de controle como este ..

Code Example 5


Aqui está o resultado.

Relabled button


Esperamos que você possa ver onde isso vai dar. Nós declaramos e configurar os parâmetros de nosso controle e, em seguida, continuar a manipular os controles com comandos úteis pré-definidos (ver o capítulo Comandos da interface do usuário no Manual de Referência KSP).

Da próxima vez, assim adicionar alguma funcionalidade do mundo real para alguns controles. Que é onde a diversão começa!

Você pode baixar os exemplos de código neste

Links rápidos

Introdução ao Scripting no Kontakt, Parte 1

Introdução ao Scripting no Kontakt, Parte 2

Introdução ao Scripting no Kontakt, Parte 3

Introdução ao Scripting no Kontakt, Parte 4

Introdução ao Scripting no Kontakt, Parte 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!